CVE-2026-87816
HighCVSS 7.5Exploitation Probability (EPSS)
Low risk22th percentile - higher than 22% of all known CVEs
Summary
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.
Risk Assessment
Risk of repeated exposure of one-time secrets, potentially leading to confidentiality breaches and unauthorized access to protected information.
Recommendation
Update PasswordPusher to version 2.11.1 or later and consider adding mechanisms to block concurrent requests.
Other vulnerabilities in PasswordPusher
See all- CVE-2026-62382Medium
PasswordPusher versions v1.45.11 through v2.9.5 contain an improper authorization vulnerability in the push deletion logic. The ownership check compares @push.user against current_user; for an anonymously created push both values are nil, and Ruby evaluates nil == nil as true, so the check passes and the deletable_by_viewer restriction is never enforced. An attacker who knows only the secret URL can permanently delete an anonymous push even when the creator disabled viewer deletion and even without the passphrase. Only deployments that allow anonymous pushes (the default) are affected. The issue is fixed in v2.9.6.
- CVE-2026-61458High
A brute-force vulnerability in PasswordPusher before version 2.9.2 in the POST /p/:token/access endpoint. Lack of rate limiting and per-push lockout allows an attacker to guess access passwords at 120 attempts per minute.
- CVE-2026-59802High
A vulnerability in PasswordPusher before version 2.8.1 allows data URI schemes in URL push payloads due to insufficient validation in the valid_url function. Attackers can craft malicious pushes with data:text/html URIs that execute arbitrary JavaScript in victims' browsers when clicked, enabling phishing and credential theft under the trusted PasswordPusher domain.
Original NVD description (English source)
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.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

