{"id":"GHSA-xrj9-mw57-j34v","summary":"AstrBot contains a directory traversal vulnerability","details":"AstrBot Project v3.5.22 contains a directory traversal vulnerability. The handler function install_plugin_upload of the interface '/plugin/install-upload' parses the filename from the request body provided by the user, and directly uses the filename to assign to file_path without checking the validity of the filename. The variable file_path is then passed as a parameter to the function `file.save`, so that the file in the request body can be saved to any location in the file system through directory traversal.","aliases":["CVE-2025-57698","PYSEC-2026-1198"],"modified":"2026-07-07T17:57:25.025726887Z","published":"2025-11-07T18:30:30Z","database_specific":{"github_reviewed_at":"2025-11-07T20:49:17Z","nvd_published_at":"2025-11-07T17:15:47Z","cwe_ids":["CWE-22"],"severity":"HIGH","github_reviewed":true},"references":[{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2025-57698"},{"type":"PACKAGE","url":"https://github.com/AstrBotDevs/AstrBot"},{"type":"WEB","url":"https://github.com/DYX217/vulnerability-explore/blob/main/2/README.md"}],"affected":[{"package":{"name":"astrbot","ecosystem":"PyPI","purl":"pkg:pypi/astrbot"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"3.5.22"}]}],"versions":["3.4.39","3.5.10","3.5.11","3.5.12","3.5.13","3.5.14","3.5.15","3.5.17","3.5.18","3.5.19","3.5.20","3.5.21","3.5.22","3.5.6","3.5.7","3.5.8","3.5.9"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/11/GHSA-xrj9-mw57-j34v/GHSA-xrj9-mw57-j34v.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N"}]}