Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessLearn victim's public IP
-
ExploitSend connection with forged cf-connecting-ip header
-
ExecutionTrusted by Peer._setIP, placed in victim's room
-
ImpactAppear as local peer to exchange files
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V6 - Authentication IP-independent access control
|
| Exploitation Conditions | Exploitation requires three concrete conditions, all drawn from the description: (1) the target is a SELF-HOSTED PairDrop instance (version through 1.11.2) that is NOT deployed behind Cloudflare, so the cf-connecting-ip header is not set/overwritten by a trusted proxy and can be forged by the client; (2) the attacker must already know the victim's public IP address, since discovery-room membership is keyed on that IP; and (3) PairDrop's default trust of the cf-connecting-ip header in Peer._setIP. Limiting factors: the attack is scoped to a single victim per known IP (no mass/automatable targeting), instances correctly fronted by Cloudflare are not affected, impact is limited to joining the discovery room (send/receive files) with no code execution or availability impact, and some user interaction is involved in actually exchanging files. |
| Impact | All signals point to genuinely low priority. The provided CVSS 4.0 vector (AV:N/AC:H/AT:P/PR:N/UI:P/VC:L/VI:L/VA:N) yields a base score of 2.3, driven down by high attack complexity (AC:H - the attacker must already know the victim's public IP), a present attack requirement (AT:P), passive user interaction (UI:P), and only Low confidentiality/integrity impact with no availability impact. No EPSS score was supplied in the input, and there is no CISA KEV listing and no public exploit referenced, so no public exploit identified at time of analysis. CWE-348 (Use of Less Trusted Source / reliance on an untrusted input - the cf-connecting-ip header) is consistent with the description. No SSVC decision data was provided. There is no conflict between the signals: the low CVSS, absence of KEV/POC/EPSS, niche self-hosted product, and restrictive preconditions all agree this is a low-real-risk issue rather than a high-CVSS-but-overblown case. The one caveat is that impact is contextual - on a self-hosted instance not behind Cloudflare, an attacker who learns a target's public IP could inject into that target's discovery room, so treat it as a privacy/trust-boundary bug for the specific deployment pattern described, not a broadly exploitable flaw. |
| Exploit ScenarioDerived | An attacker who already knows the public IP of a user of a self-hosted PairDrop instance that is NOT deployed behind Cloudflare sends a WebSocket/HTTP connection with a forged cf-connecting-ip header matching the victim's public IP. Because Peer._setIP trusts that header unconditionally, the server places the attacker in the same local discovery room as the victim, letting the attacker appear as a nearby device to send or receive files. No public exploit code is referenced, and the attack requires knowing the victim IP plus some user interaction, so exploitation is non-trivial. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 10, 2026
IP spoofing in PairDrop through 1.11.2 lets unauthenticated remote attackers who already know a victim's public IP address join that victim's discovery room on self-hosted instances that are not deployed behind Cloudflare, so the attacker appears as a local device and can send or receive files. Impact is limited to low confidentiality and integrity loss within the discovery-room session (CVSS 2.3 / assessed 3.1 vector AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:N), with no code execution or availability impact, and no public exploit identified at time of analysis. Exploitation requires three concrete conditions: a self-hosted PairDrop instance through 1.11.2 that is not correctly fronted by Cloudflare, prior knowledge of the victim's public IP, and user interaction to actually exchange files.
RemediationAI
No vendor-released patched version is confirmed in the provided data; track the upstream issue at https://github.com/schlagmichdoch/PairDrop/issues/510 and the project repository at https://github.com/schlagmichdoch/PairDrop for an official fix, and upgrade as soon as a release newer than 1.11.2 is published. Until then, the primary mitigation is to place the PairDrop instance behind Cloudflare or an equivalent trusted reverse proxy that reliably sets and overwrites the cf-connecting-ip header, which removes the attacker's ability to forge it; the trade-off is that this changes the deployment topology and may not be acceptable for air-gapped or internal-only installations. A second option is to configure the existing reverse proxy (for example nginx or Caddy) to strip or unconditionally replace any client-supplied cf-connecting-ip header before forwarding to PairDrop; this is a configuration-level fix that must be applied on every entry path, and misconfiguration on any path leaves the flaw open. A third option, applicable where the source can be modified, is to patch Peer._setIP so that discovery-room assignment derives from a trusted source such as the socket's remote address or a proxy header that the deployment actually controls; this requires maintaining a local fork and re-applying the change on each upstream update. Generic hardening such as restricting who can reach the WebSocket endpoint reduces exposure but does not remove the spoofing primitive and has the side effect of limiting legitimate file-sharing between peers in different networks. No public exploit code was identified in the supplied data, and no CISA KEV entry indicates active exploitation, so remediation can follow a normal change-management cadence rather than emergency response.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The root cause is CWE-348 (Use of Less Trusted Source): PairDrop's Peer._setIP routine (server/peer.js lines 44-54, invoked from server/ws-server.js lines 312-314) keys discovery-room membership on the cf-connecting-ip header. That header is meaningful only when a trusted edge proxy such as Cloudflare sets and overwrites it; on a self-hosted instance exposed directly to the internet, any client can supply an arbitrary cf-connecting-ip value and be assigned to the room corresponding to a spoofed public IP. Because room membership is bound to the claimed IP rather than to the actual socket peer address, an attacker who knows the victim's public IP can be placed in the same discovery room as the victim. The CPE cpe:2.3:a:schlagmichdoch:pairdrop:*:*:*:*:*:*:*:* identifies the affected component as the PairDrop application across versions through 1.11.2. The CVSS:4.0 vector supplied in the source data (AV:N/AC:H/AT:P/PR:N/UI:P/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N) confirms network reachability, unauthenticated access (PR:N), no availability impact, and limited confidentiality/integrity impact, consistent with the independent assessment; the high attack complexity reflects the multiple preconditions (no Cloudflare in front, known victim IP, and some user interaction to complete file transfer).
Know when Pairdrop gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
AC:H because the attacker must know the victim's public IP and the instance must not be behind Cloudflare; PR:N as no authentication is needed; UI:R for file exchange; C:L/I:L and A:N as impact is limited room membership/file transfer.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
PairDrop through 1.11.2 contains an IP spoofing vulnerability in Peer._setIP that allows remote attackers to join other networks' discovery rooms by supplying a forged cf-connecting-ip header. Attackers who know a victim's public IP can appear as a local device on self-hosted instances not behind Cloudflare to send or receive files.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
EUVD-2026-96349
GHSA-4p3m-fhg8-5wfc
NVD
CVE.org
EPSS
Exploit-DB