README.md
Rendering markdown...
# Attack Scenario Notes
## Overview
`CVE-2026-36227` describes a path traversal vulnerability in Easy Chat Server 3.1 user registration handling. The vulnerable flow accepts the `UserName` parameter through `POST /registresult.htm` and does not sufficiently sanitize traversal sequences before using the value in a filesystem-sensitive context.
## Discoverer
Vaibhav D. Barkade
## Affected Pattern
1. A remote user submits a registration request.
2. The request includes a traversal-style `UserName` value.
3. The application processes the value without sufficient path validation.
4. Registration-related file creation can occur outside the intended directory.
## Benign Verification Request
The public PoC sends a registration request with this default value:
```text
UserName=../../ecs-traversal-proof.txt
```
The PoC does not include executable ASPX or command-execution payload content.
## Local/Lab Reproduction
```bash
python3 poc.py 127.0.0.1 80
```
Dry run:
```bash
python3 poc.py 127.0.0.1 80 --dry-run
```
## Impact Assessment
The direct vulnerability class is path traversal leading to unauthorized file write. Severity increases if the traversed write path can reach a web-executable directory or another sensitive location. In that deployment, the issue can become remote code execution.
Suggested CVSS-style framing:
- High/Critical if unauthenticated remote users can write executable files into a web-served execution path.
- High if unauthenticated remote users can write or overwrite sensitive files outside the intended directory.
- Medium if exploitation is constrained to non-sensitive, non-executable paths.
## Defensive Guidance
- Reject `../`, `..\\`, URL-encoded traversal, absolute paths, and drive-prefixed paths.
- Use a server-generated user identifier for filenames.
- Canonicalize target paths before writing.
- Enforce that the canonical target remains under a fixed base directory.
- Disable script execution in user-controlled storage locations.