CVE-2026-104380 Punk versions from 0.48 before 0.55 for Perl route Extended CONNECT requests to any GET route without an Origin check in ps_serve_one.
Cross-origin pages can probe any GET route via WebSocket handshakes to determine path existence, bypassing Origin checks in the Punk Perl library.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- None listed
What is CVE-2026-104380?
CVE-2026-104380 is a medium-severity missing authorization vulnerability, published on 6 Oct 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
Punk versions from 0.48 before 0.55 for Perl route Extended CONNECT requests to any GET route without an Origin check in ps_serve_one.
On HTTP/2 and HTTP/3 a WebSocket handshake arrives as an Extended CONNECT, which is matched as a GET and so reaches every GET route, API operation and mount. The Origin check runs only when a websocket route matches. On this transport the handler's status is the handshake response, and a 2xx accepts it.
A cross-origin page can open a WebSocket to any path and learn from its open or error event whether that path returns 2xx.
Weakness: CWE-1385
Which versions are affected by CVE-2026-104380?
How do I fix CVE-2026-104380?
No fix has been published for CVE-2026-104380 yet. Limit exposure of the affected software until one is available.
Upgrade, and check permissions on every request on the server, not only in the interface. More about Missing authorization.
Is CVE-2026-104380 being exploited?
There is no known exploitation of CVE-2026-104380 in the wild and no public exploit code.
Sources
Also known as GHSA-cmh9-2wr3-4x64.