CVE-2026-105963
MEDIUM 5.1Externally-Generated Error Message Containing Sensitive Information vulnerability in plug_crypto in elixir-plug plug_crypto allows an unauthenticated remote attacker to expose the secret key base through application logs via a wrong-typed argument. Every public function in Plug.Crypto validates argument types in a function-head guard. A failed guard makes the Erlang VM raise FunctionClauseError with the actual argument values in the top stack frame, so the secret key base, a derived key, or the value an API key is compared against lands in that frame. The library's rescue blocks and Plug.Crypto.prune_args_from_stacktrace/1 only reach exceptions raised inside a function body, so they never see a guard failure. Plug.Cowboy and Bandit write the frame to the error log and attach it as crash_reason Logger metadata, which error trackers forward. Two entry points take request data. Plug.Crypto.verify/4 exposes the secret key base when the token is neither a binary nor nil, which Phoenix.Token.verify/4 reaches because it forwards the token unguarded. Plug.Crypto.secure_compare/2 exposes the other operand when one side is not a binary, as happens when a missing request header yields nil. Reading the leaked value needs separate access to the logs or the error tracker, so the request alone does not disclose the secret to the attacker. This issue affects plug: from 1.6.3 before 1.7.0; plug_crypto: from 1.0.0 before 2.2.1.
No known exploitation, public exploit, or elevated probability at this time. Track for changes.
Exploitation likelihood
0.5%chance of exploitation in 30 days · 43rd percentile
Impact if exploited
5.1CVSS 4.0 · MEDIUM
- ConfidentialityLow
- IntegrityNone
- AvailabilityNone
What an attacker needs
- ✓Access: Reachable over the network — no local access needed
- ⚠Privileges: Requires an admin / high-privilege account
- ✓User interaction: No user interaction needed
- ✓Complexity: No special conditions — reliably repeatable
- ✓Requirements: No special attack requirements
✓ lowers the bar for an attacker · ⚠ raises it
Proof of concept
No public PoC is currently catalogued.
Search for new PoCs
Search GitHub now — results may be empty or unverified.
Tracked sources are checked daily for recent CVEs, including PoCs published after the original disclosure. A later release appears after a tracked source lists it and a refresh succeeds.
Data snapshot:
Weakness (CWE)
- CWE-532: Insertion of Sensitive Information into Log File
CVSS vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
References and research data (JSON)
All CVSS metrics
- MEDIUM 5.1 v4.0 · CNA Primary
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N - MEDIUM 5.1 v4.0 · NVD Secondary
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
References
Patches & mitigations
- https://github.com/elixir-plug/plug/commit/aeaa90e76b73ea90c3ecca9aae16fce71bd2a8d4 CVE record · EEF · Updated 2026-10-23T09:56:58.885Z
NVD · CVE-2026-105963 · Updated 2026-10-23T19:57:42.660 - https://github.com/elixir-plug/plug_crypto/commit/981887493dada0fce7003c61861c00dfbb0fc8c5 CVE record · EEF · Updated 2026-10-23T09:56:58.885Z
NVD · CVE-2026-105963 · Updated 2026-10-23T19:57:42.660
Advisories
- https://github.com/elixir-plug/plug/security/advisories/GHSA-ffw9-w85g-f2vh CVE record · EEF · Updated 2026-10-23T09:56:58.885Z
NVD · CVE-2026-105963 · Updated 2026-10-23T19:57:42.660 - https://euvd.enisa.europa.eu/vulnerability/EUVD-2026-108666 EUVD · EUVD-2026-108666
Technical & other
- https://cna.erlef.org/cves/CVE-2026-105963.html CVE record · EEF · Updated 2026-10-23T09:56:58.885Z
NVD · CVE-2026-105963 · Updated 2026-10-23T19:57:42.660 - https://osv.dev/vulnerability/EEF-CVE-2026-105963 CVE record · EEF · Updated 2026-10-23T09:56:58.885Z
NVD · CVE-2026-105963 · Updated 2026-10-23T19:57:42.660 - https://github.com/elixir-plug/plug/commit/56000c33d8a0a2fbac491f8be06b9c5112bc2276 CVE record · EEF · Updated 2026-10-23T09:56:58.885Z
NVD · CVE-2026-105963 · Updated 2026-10-23T19:57:42.660 - https://github.com/elixir-plug/plug_crypto/commit/2d078b7b8264c565f0ff71235c515f4f46882dcf CVE record · EEF · Updated 2026-10-23T09:56:58.885Z
NVD · CVE-2026-105963 · Updated 2026-10-23T19:57:42.660