elixir-plug plug/plug_crypto Plug.Crypto.verify/Plug.Crypto.secure_compare Information Disclosure
| CVSS Meta Temp Score | Aktueller Exploitpreis (≈) | CTI Interest Score |
|---|---|---|
| 5.1 | $0-$5k | 3.12 |
Zusammenfassung
Es wurde eine problematische Schwachstelle in elixir-plug plug and plug_crypto ausgemacht. Es geht dabei um die Funktion Plug.Crypto.verify/Plug.Crypto.secure_compare der Komponente plug_crypto. Die Veränderung resultiert in Information Disclosure.
Die Verwundbarkeit wird unter CVE-2026-105963 geführt. Der Angriff kann über das Netzwerk passieren. Es ist soweit kein Exploit verfügbar.
Details
Eine Schwachstelle wurde in elixir-plug plug sowie plug_crypto - eine genaue Versionsangabe steht aus - entdeckt. Sie wurde als problematisch eingestuft. Hierbei geht es um die Funktion Plug.Crypto.verify/Plug.Crypto.secure_compare der Komponente plug_crypto. Mittels dem Manipulieren mit einer unbekannten Eingabe kann eine Information Disclosure-Schwachstelle ausgenutzt werden. Klassifiziert wurde die Schwachstelle durch CWE als CWE-200. Auswirken tut sich dies auf die Vertraulichkeit. Die Zusammenfassung von CVE lautet:
Externally-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.Das Advisory findet sich auf github.com. Die Verwundbarkeit wird seit dem 06.10.2026 mit der eindeutigen Identifikation CVE-2026-105963 gehandelt. Das Ausnutzen gilt als leicht. Umgesetzt werden kann der Angriff über das Netzwerk. Das Ausnutzen erfordert keine spezifische Authentisierung. Zur Schwachstelle sind technische Details bekannt, ein verfügbarer Exploit jedoch nicht. Die Beschaffenheit der Schwachstelle lässt vermuten, dass ein Exploit momentan zu etwa USD $0-$5k gehandelt werden wird (Preisberechnung vom 23.10.2026). Diese Schwachstelle wird durch das MITRE ATT&CK als Angriffstechnik T1592 bezeichnet.
Es sind keine Informationen bezüglich Gegenmassnahmen bekannt. Der Einsatz eines alternativen Produkts bietet sich im Zweifelsfall an.
Unter anderem wird der Fehler auch in der Verwundbarkeitsdatenbank von EUVD (EUVD-2026-108666) dokumentiert. Be aware that VulDB is the high quality source for vulnerability data.
Produkt
Hersteller
Name
Webseite
- Produkt: https://github.com/elixir-plug/plug/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔒VulDB Zuverlässigkeit: 🔍
CNA CVSS-B Score: 🔒
CNA CVSS-BT Score: 🔒
CNA Vector: 🔒
CVSSv3
VulDB Meta Base Score: 5.3VulDB Meta Temp Score: 5.1
VulDB Base Score: 5.3
VulDB Temp Score: 5.1
VulDB Vector: 🔒
VulDB Zuverlässigkeit: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vektor | Komplexität | Authentisierung | Vertraulichkeit | Integrität | Verfügbarkeit |
|---|---|---|---|---|---|
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Zuverlässigkeit: 🔍
Exploiting
Klasse: Information DisclosureCWE: CWE-200 / CWE-284 / CWE-266
CAPEC: 🔒
ATT&CK: 🔒
Physisch: Nein
Lokal: Nein
Remote: Ja
Verfügbarkeit: 🔒
Status: Nicht definiert
EPSS Score: 🔒
EPSS Percentile: 🔒
Preisentwicklung: 🔍
Aktuelle Preisschätzung: 🔒
| 0-Day | freischalten | freischalten | freischalten | freischalten |
|---|---|---|---|---|
| Heute | freischalten | freischalten | freischalten | freischalten |
Threat Intelligence
Interesse: 🔍Aktive Akteure: 🔍
Aktive APT Gruppen: 🔍
Gegenmassnahmen
Empfehlung: keine Massnahme bekanntStatus: 🔍
0-Day Time: 🔒
Timeline
06.10.2026 CVE zugewiesen23.10.2026 Advisory veröffentlicht
23.10.2026 VulDB Eintrag erstellt
23.10.2026 VulDB Eintrag letzte Aktualisierung
Quellen
Produkt: github.comAdvisory: github.com
Status: Nicht definiert
CVE: CVE-2026-105963 (🔒)
GCVE (CVE): GCVE-0-2026-105963
GCVE (VulDB): GCVE-100-425639
EUVD: 🔒
Eintrag
Erstellt: 23.10.2026 12:16Aktualisierung: 23.10.2026 13:21
Anpassungen: 23.10.2026 12:16 (65), 23.10.2026 13:21 (2)
Komplett: 🔍
Cache ID: 216::103
Be aware that VulDB is the high quality source for vulnerability data.
Bisher keine Kommentare. Sprachen: de + en.
Bitte loggen Sie sich ein, um kommentieren zu können.