CPANSA-Punk-2026-75870: Punk vulnerability
| Publisher | giterlizzi | Document category | csaf_security_advisory |
|---|---|---|---|
| Initial release date | 2026-08-22T00:00:00 | Engine | CSAF Perl Toolkit 0.26 |
| Current release date | 2026-08-22T00:00:00 | Build Date | |
| Current version | 1 | Status | final |
| CVSS v3.1 Base Score | 9.1 | Severity | Critical |
| Original language | Language | en | |
| Also referred to | |||
Vulnerability 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.
Vulnerabilities
CVE-2026-75870
Vulnerability DescriptionPunk 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.
| Weakness | CWE-1394 : Use of Default Cryptographic Key |
|---|
Product status
Known affected
| Product | Score | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Punk less than 0.18 |
|
Fixed
- Punk greater than or equal 0.18
giterlizzi
Namespace: https://github.com/giterlizzi/
gdt@cpan.org
References
- CPANSA-Punk-2026-75870 JSON self
https://raw.githubusercontent.com/giterlizzi/perl-CPANSA-CSAF/develop/csaf/white/2026/cpansa-punk-2026-75870.json - https://metacpan.org/release/LNATION/Punk-0.17/source/include/punk/punk_session.h external
https://metacpan.org/release/LNATION/Punk-0.17/source/include/punk/punk_session.h - https://metacpan.org/release/LNATION/Punk-0.17/view/lib/Punk.pm external
https://metacpan.org/release/LNATION/Punk-0.17/view/lib/Punk.pm - https://metacpan.org/release/LNATION/Punk-0.18/source/Changes external
https://metacpan.org/release/LNATION/Punk-0.18/source/Changes - http://www.openwall.com/lists/oss-security/2026/08/22/5 external
http://www.openwall.com/lists/oss-security/2026/08/22/5 - CVE-2026-75870 (NVD) external
https://nvd.nist.gov/vuln/detail/CVE-2026-75870
Revision history
| Version | Date of the revision | Summary of the revision |
|---|---|---|
| 1 | Sat Aug 22 00:00:00 2026 | First release |
Sharing rules
TLP:WHITE
For the TLP version see: https://www.first.org/tlp/