CVE-2026-75870 PUBLISHED

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

Assigner: CPANSec
Reserved: 18.08.2026 Published: 22.08.2026 Updated: 22.08.2026

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.

Product Status

Package Collection https://cpan.org/modules
Package Name Punk
Versions Default: unaffected
  • affected from 0 to 0.18 (excl.)

Workarounds

For deployments that cannot upgrade to 0.18, declare the session keyword with a non-empty secret. The secret keyword fails closed, so sourcing the key through it turns a missing configuration path or an unset environment variable into a startup error.

Solutions

Upgrade to Punk 0.18 or later.

References

Problem Types

  • CWE-1394 Use of Default Cryptographic Key CWE