Path Traversal and Arbitrary Deletion in Chainlit
Chainlit versions 2.12.0 and earlier are vulnerable to an unauthenticated path traversal attack via the socket.io sessionId parameter, enabling arbitrary directory deletion.
CVE search metadata
CVE search record: CVE-2026-86099. Severity: high. CVSS: 8.2. KEV: no. Product: Chainlit (<= 2.12.0). Brief: Path Traversal and Arbitrary Deletion in Chainlit. Brief link: https://feed.craftedsignal.io/briefs/2026-09-chainlit-path-traversal/
Chainlit versions up to and including 2.12.0 contain a critical path traversal vulnerability (CVE-2026-86099) originating from the improper validation of the client-supplied sessionId parameter within socket.io communications. An unauthenticated attacker can exploit this flaw by submitting crafted sessionId values containing path traversal sequences, such as dot-dot-slash patterns. This manipulation allows the attacker to break out of the application-defined upload directory. Once the escape is successful, the attacker can target sensitive files or directories, ultimately triggering recursive deletion of any path accessible to the service process. The impact is significant, as it enables destructive actions against the underlying filesystem without requiring prior authentication. Given the nature of the vulnerability, defenders should prioritize patching and monitoring for anomalous socket.io traffic targeting the session identifier.
Impact
Successful exploitation allows unauthenticated attackers to delete arbitrary directories on the host server. This can lead to total service disruption, data loss, or the deletion of critical system or application components, depending on the service account's permissions.
Recommendation
- Patch Chainlit to a version newer than 2.12.0 as soon as a fix is made available by the vendor.
- Monitor web server logs for socket.io traffic containing unconventional characters in the
sessionIdparameter, specifically path traversal sequences like../or..\\. - Ensure the Chainlit service process is running with the principle of least privilege, restricting its write and delete permissions to only the necessary directories.
Immediate actions
Patch Chainlit to version > 2.12.0
Mitigations
Deploy WAF rules to block path traversal sequences in URI parameters
CVE-2026-86099
Detection coverage 1
Detect CVE-2026-86099 Path Traversal Attempt
highDetects potential path traversal attempts in socket.io session ID parameters targeting Chainlit
Detection queries are available on the platform. Get full rules →