Summary
CVE-2026-56122 is a path traversal vulnerability (CWE-22) affecting Winstone Servlet Container through version 0.9.10, the final release of the unmaintained standalone project by rickknowles. An unauthenticated remote attacker can read arbitrary files on the host filesystem by sending a single crafted HTTP GET request containing unsanitized dot-dot-slash sequences, with no authentication or user interaction required. The vulnerability carries a CVSS v3.1 score of 7.5 (HIGH) and a CVSS v4.0 score of 8.7 (HIGH).
Technical details
- Root cause: The static file serving mechanism in Winstone does not sanitize dot-dot-slash (
../) sequences in HTTP request paths, allowing an attacker to traverse outside the configured webroot directory and reach arbitrary locations on the filesystem. - Trigger conditions: A single HTTP GET request with a traversal-prefixed path is sufficient — for example, a request to
http://<host>:<port>/../../../../../../etc/passwdusing the--path-as-isflag (to prevent client-side path normalization) directly retrieves the targeted file. - Attack vector: Network-accessible with no authentication (
PR:NONE) and no user interaction (UI:NONE) required; exploitable by any unauthenticated internet user with access to the service port. - Impact: Unauthenticated arbitrary file read. An attacker can retrieve any file readable by the servlet engine process — including
/etc/passwd, application configuration files, and credentials. When Winstone runs with elevated privileges, the scope extends to highly sensitive files such as/etc/shadowand private key material.
Affected software
- Winstone Servlet Container, all versions through 0.9.10 (vendor: rickknowles)
Severity
- CVSS v3.1 Base Score: 7.5 HIGH
- Vector string:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Mitigation and recommended actions
- No patch is available. The Winstone standalone project has not received updates since its last release (version 0.9.10, May 2013) and is no longer maintained by its original author.
- Immediate: Restrict or block external network access to any internet-exposed Winstone instance using firewall rules or network segmentation to eliminate remote exploitability.
- Operational hardening: Ensure the Winstone process runs under the least-privileged OS user account possible, limiting the files an attacker can reach via arbitrary file read.
- Longer-term: Migrate to an actively maintained and supported Java servlet container; continued reliance on unsupported software carries ongoing unpatched risk.
IONIX Status
The IONIX research team is tracking ongoing exploitation attempts and recommends immediate patching. Potentially affected assets are outlined in this post.

