Vulnerability · Published Aug 22, 2026 · Assigned by CPANSec
CVE-2026-75870Punk versions before 0.18 for Perl allow session cookie forgery via an empty default HMAC key when a session is declared without a secret
Critical 9.1
In plain English
A critical-severity security flaw in Punk. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.5% (higher than 43% of all known vulnerabilities).
Official description
Punk versions before 0.18 for Perl allow session cookie forgery via an empty default HMAC key when a session is declared without a secret. The session keyword freezes its options onto the application as given: it does not require a secret, warn, or refuse to start when one is absent. The cookie read and the write-back both default that key to the empty string, so a declaration with no secret option, or with an undefined or empty one, signs and verifies with a zero-length HMAC-SHA256 key. An attacker who knows the cookie format can then mint one offline carrying any contents the session holds, such as a user identifier or a role. Nothing marks the misconfiguration at runtime: cookies are well formed and sessions round-trip as expected.
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| Punk | 0 – before 0.18 |
Weakness: CWE-1394 · Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
References
- https://metacpan.org/release/LNATION/Punk-0.17/source/include/punk/punk_session.h technical-description
- https://metacpan.org/release/LNATION/Punk-0.17/view/lib/Punk.pm technical-description
- https://metacpan.org/release/LNATION/Punk-0.18/source/Changes release-notes
- http://www.openwall.com/lists/oss-security/2026/08/22/5