CVE-2025-47269

The '@' That Stole Your Shell: A Deep Dive into CVE-2025-47269

Alon Barad
Alon Barad
Software Engineer

Jan 12, 2026·6 min read·16 visits

Executive Summary (TL;DR)

code-server's local port proxy didn't verify that the 'port' was actually a number. An attacker can supply a payload like 'test@evil.com' instead of a port number. The backend constructs a URL that is misinterpreted by the HTTP library, causing code-server to authenticate against an attacker's server and hand over the victim's session cookie. This grants the attacker full RCE via the web terminal.

A critical input validation failure in code-server's proxy mechanism allows attackers to hijack sessions via a classic URI parsing confusion. By injecting special characters into the port parameter, attackers can redirect the internal proxy—and your session cookies—to a server they control.

Fix Analysis (1)

Technical Appendix

CVSS Score
8.3/ 10
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:L
EPSS Probability
0.04%
Top 87% most exploited

Affected Systems

code-server < 4.99.4

Affected Versions Detail

Product
Affected Versions
Fixed Version
code-server
Coder
< 4.99.44.99.4
AttributeDetail
CWE IDCWE-441
CWE NameConfused Deputy / SSRF
CVSS Score8.3 (High)
Attack VectorNetwork
EPSS Score0.00044
Exploit StatusPoC Available
CWE-441
Unintended Proxy or Intermediary ('Confused Deputy')

The software acts as a proxy or intermediary but does not sufficiently restrict the destination or the data that can be sent, allowing an attacker to use the proxy to access unauthorized resources.

Vulnerability Timeline

Fix committed to GitHub
2025-05-02
Advisory published and patch released
2025-05-09