Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain or intercept one-time secret URL
-
DeliverySend simultaneous GET requests to show endpoint
-
ExploitRace condition bypasses atomic view-count check
-
ExecutionMultiple responses return secret before counter updates
-
ImpactSecret read multiple times defeating expire_after_views expiry
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V15 - Secure Coding and Architecture Concurrency control, locking
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The attacker must possess the specific secret URL - PasswordPusher does not expose secrets without the URL token, so URL-guessing is not a practical attack path given standard token entropy. The targeted push must have expire_after_views configured (it may be the default for some deployments, but this should be verified per installation). No authentication is required (CVSS PR:N). The exploit requires sending concurrent HTTP GET requests within the same short timing window (milliseconds to low seconds depending on server response time and database latency), which is straightforward with any HTTP concurrency tool but does require the attacker to act before a legitimate view has already consumed the push. Deployments that restrict PasswordPusher to authenticated users (via reverse proxy or built-in auth) narrow the attacker population to authenticated principals, but do not eliminate the race. |
| Impact | The CVSS 4.0 score of 8.7 (AV:N/AC:L/AT:N/PR:N/UI:N/VC:H) reflects a high-confidence, network-reachable, unauthenticated confidentiality impact, consistent with the attack's low technical barrier - concurrent HTTP requests require no specialized tooling. However, a material practical constraint exists: the attacker must already possess the secret URL, since PasswordPusher does not enumerate or expose secrets without the URL token. This means the realistic threat profile involves a malicious or compromised intended recipient, or an attacker who intercepted the URL in transit - not opportunistic mass scanning. Even a mid-sized municipal IT team in radom using PasswordPusher to distribute internal credentials should treat this as urgent, since the tool's entire value proposition (self-destructing secrets) is nullified by this flaw. EPSS data was not provided in the input, and no KEV listing or public exploit has been identified, so wide opportunistic exploitation is not a demonstrated risk at time of analysis. The principal impact is targeted: a recipient who exploits the race can read the secret an indefinite number of times and share it further without the sender's knowledge, making detection and revocation impractical. |
| Exploit ScenarioDerived | An attacker receives a one-time secret URL and immediately dispatches dozens of parallel GET requests to the show endpoint using an HTTP concurrency tool such as a scripted thread pool or curl's parallel flag. Because the view counter read and decrement are non-atomic, multiple requests return the full secret payload before the push is marked expired, allowing the attacker to cache the secret locally and share it without the sender's knowledge. No public exploit code has been identified at time of analysis, but the technique requires no specialized knowledge beyond basic HTTP scripting. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 09, 2026
Remote unauthenticated retrieval of expired one-time secrets in PasswordPusher before 2.11.1 is enabled by a TOCTOU race condition in the expire_after_views view-limit enforcement logic. By issuing multiple simultaneous HTTP requests to the show endpoint, an attacker can read a secret that was configured to self-destruct after a single view, defeating the core confidentiality guarantee the tool is designed to provide. No active exploitation has been confirmed (not in CISA KEV), and no public exploit code has been identified, though the technique requires only basic HTTP concurrency tooling.
RemediationAI
Vendor-released patch: version 2.11.1. Upgrade PasswordPusher to 2.11.1 or later using the standard update path for the deployment method in use (Docker image pull, gem update, or source checkout), as detailed in the GitHub Security Advisory GHSA-6q3c-57pp-wvpp. If an immediate upgrade is not feasible, set expire_after_views to a higher value (e.g., 2-3 instead of 1) to reduce the value of a successful race without eliminating the vulnerability; note this is not a true mitigation and secrets will still be readable multiple times during the race window. Restricting the PasswordPusher instance to a VPN or trusted internal network reduces the attacker population to those who already have network access, but does not close the race condition itself. Additional context is available at https://www.vulncheck.com/advisories/passwordpusher-before-2.11.1-race-condition-view-limit-bypass.
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
PasswordPusher (CPE: cpe:2.3:a:pglombardo:passwordpusher) is a self-hosted, open-source secret-sharing web application that issues time- or view-limited URLs for distributing sensitive strings such as passwords and API tokens. The expire_after_views mechanism follows a read-check-then-decrement pattern: the show endpoint reads the remaining view count, returns the secret, then writes the updated counter. Under CWE-362 (Concurrent Execution Using Shared Resource with Improper Synchronization), this non-atomic sequence creates a window during which multiple concurrent requests can each independently pass the view-count check before any single one commits the counter decrement. The fix in 2.11.1 closes this window, presumably by making the check-and-decrement an atomic database operation or by applying a distributed lock on the secret record during retrieval.
Know when Passwordpusher 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:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Race condition requires precisely timed concurrent requests (AC:H); no authentication or user interaction needed; impact is confidentiality-only as the attack only reads existing secrets.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
PasswordPusher before 2.11.1 contains a time-of-check-to-time-of-use race condition in view limit enforcement that allows unauthenticated attackers to bypass expire_after_views limits. Attackers can send concurrent requests to the show endpoint to access one-time secrets multiple times before the view count is incremented and the push expires.
Technical POC Analysis
The flaw is a time-of-check-to-time-of-use race, CWE-362, in PasswordPusher's view-limit enforcement.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
PasswordPusher before version 2.11.1 contains a race condition that allows unauthenticated attackers to retrieve secrets despite configured single-view expiration limits, undermining the tool's core confidentiality guarantee. Organizations relying on PasswordPusher for temporary secret distribution face credential compromise risk if the race condition is exploited to intercept sensitive data before intended expiration.
Apply vendor patch.
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
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Race conditions occur when multiple concurrent requests exploit the brief time gap between checking a condition and acting upon it (TOCTOU - Time of Check, Time of Use).
More in Passwordpusher
View allPasswordPusher v1.45.11 through v2.9.5 allows unauthenticated deletion of anonymous password pushes by exploiting a nil-
Passphrase brute-force in PasswordPusher before 2.9.2 lets remote attackers who possess a push token recover the passphr
Unauthenticated attackers can create file-type pushes through Password Pusher's JSON API endpoints when the application
Cross-site scripting via data URI injection in PasswordPusher before 2.8.1 allows unauthenticated attackers to create UR
EUVD-2026-74842
GHSA-j5vw-cw8p-7f7g
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB