{"id":"CVE-2026-41205","published":"2026-04-23T18:52:24Z","modified":"2026-05-20T01:32:18Z","title":"Mako: Path traversal via double-slash URI prefix in TemplateLookup","vendor":"sqlalchemy","product":"mako","tier":"tail","description":{"text":"Mako is a template library written in Python. Prior to 1.3.11, TemplateLookup.get_template() is vulnerable to path traversal when a URI starts with // (e.g., //../../../secret.txt). The root cause is an inconsistency between two slash-stripping implementations. Any file readable by the process can be returned as rendered template content when an application passes untrusted input directly to TemplateLookup.get_template(). This vulnerability is fixed in 1.3.11.","provenance":"source","from":"CVE.org"},"cvss":{"score":7.7,"severity":"HIGH","version":"4.0","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:P","provenance":"source","from":"CVE.org CNA"},"epss":{"score":0.00361,"percentile":0.29773,"provenance":"source"},"cwes":[{"id":"CWE-22","name":"Improper Limitation of a Pathname to a Restricted Directory"}],"references":[{"url":"https://github.com/sqlalchemy/mako/security/advisories/GHSA-v92g-xgxw-vvmm","tags":["x_refsource_CONFIRM"]},{"url":"https://github.com/sqlalchemy/mako/commit/e05ac61989a7fb9dd7dcde6cfd72dc48328719a3","tags":["x_refsource_MISC"]},{"url":"https://github.com/sqlalchemy/mako/releases/tag/rel_1_3_11","tags":["x_refsource_MISC"]}],"priority":{"score":11.3,"factors":[{"name":"EPSS percentile","points":5.95},{"name":"CVSS severity","points":5.39}]},"vendorSlug":"sqlalchemy","affectedVersions":[{"vendor":"sqlalchemy","product":"mako","versions":["< 1.3.11"]}],"affected":[{"ecosystem":"PyPI","package":"Mako","vulnerableRanges":["<1.3.11"],"patched":["1.3.11"],"from":["GHSA-v92g-xgxw-vvmm","PYSEC-2026-88"],"provenance":"source"}],"euvd":{"id":"EUVD-2026-25279","exploited":false,"provenance":"source"},"lineage":{"familyId":"fam-sqlalchemy-mako-cve-2026-41205","packageHistory":[{"cve":"CVE-2026-41205","published":"2026-04-23","fixed":"1.3.11","kev":false},{"cve":"CVE-2026-44307","published":"2026-05-12","fixed":"1.3.12","kev":false,"link":{"from":"CVE-2026-41205","to":"CVE-2026-44307","relation":"successor","confidence":"medium","kind":"sequence","evidence":[{"kind":"version-step","provenance":"source","package":"PyPI:Mako","fromFixed":"1.3.11","toFixed":"1.3.12","daysApart":19},{"kind":"similar","provenance":"machine","score":0.6,"basis":"same product + CWE + description similarity"}]}},{"cve":"CVE-2026-102991","published":"2026-09-30","fixed":"1.4.2","kev":false}],"package":"PyPI:Mako"}}