Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
CVE-2026-46491
Summary
simplesamlphp-module-casserver builds file paths for the file-based CAS ticket store by directly concatenating the configured ticket directory with an attacker-controlled ticket identifier. Public CAS validation/proxy endpoints pass attacker-controlled `ticket` / `pgt` query parameters into this store. In deployments using 'FileSystemTicketStore', a remote attacker can use path traversal sequences such as '../target.serialized' to make the CAS server read and unserialize files outside the ticket directory. In the CAS 1.0 validation flow, the same attacker-selected path is also passed to 'deleteTicket()' immediately after 'getTicket()' returns, which can delete the target file when it is readable by the PHP process, deletable under the PHP process filesystem permissions, and unserializes to a value compatible with the '?array' return type. This issue affects versions prior to 7.0.3.
- LOW
- NETWORK
- HIGH
- UNCHANGED
- NONE
- NONE
- LOW
- LOW
CWE-22 - Path Traversal
Path traversal (or directory traversal), is a vulnerability that allows malicious users to traverse the server's root directory, gaining access to arbitrary files and folders such as application code & data, back-end credentials, and sensitive operating system files. In the worst-case scenario, an attacker could potentially execute arbitrary files on the server, resulting in a denial of service attack. Such an exploit may severely impact the integrity, confidentiality, and availability of an application.
References
Advisory Timeline
- Published