CVE-2023-40587 json
Pyramid static view path traversal up one directory
published 2023-08-25 3 y ago modified 2026-07-07 4 mo ago also GHSA-j8g2-6fc7-q8f8 , PYSEC-2026-1840 , EUVD-2023-2313
- cvss
- 4.3
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.8%
- EPSS 0.8% chance of exploitation in 30 days, percentile 55%
- public exploits
- 0
- none known
Summary
Pyramid is an open source Python web framework. A path traversal vulnerability in Pyramid versions 2.0.0 and 2.0.1 impacts users of Python 3.11 that are using a Pyramid static view with a full filesystem path and have a `index.html` file that is located exactly one directory above the location of the static view's file system path. No further path traversal exists, and the only file that could be disclosed accidentally is `index.html`. Pyramid version 2.0.2 rejects any path that contains a null-byte out of caution. While valid in directory/file names, we would strongly consider it a mistake to use null-bytes in naming files/directories. Secondly, Python 3.11, and 3.12 has fixed the underlying issue in `os.path.normpath` to no longer truncate on the first `0x00` found, returning the behavior to pre-3.11 Python, un an as of yet unreleased version. Fixes will be available in:Python 3.12.0rc2 and 3.11.5. Some workarounds are available. Use a version of Python 3 that is not affected, downgrade to Python 3.10 series temporarily, or wait until Python 3.11.5 is released and upgrade to the latest version of Python 3.11 series.
Patch / fix
- pypi pyramid 2.0.2
- agendaless pyramid 2.0.2
- python-pyramid Debian 12 2.0+dfsg-2+deb12u1
- python-pyramid Debian 14, Debian 13 2.0.2+dfsg-1
debian advisories DEBIAN-CVE-2023-40587
Exploit prediction
0.75% chance of exploitation in the next 30 days, higher than 55% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 4.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N |
| NVD | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N |
| OSV | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N |
| GitHub | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | pyramid | >=2.0.0, <2.0.2 |
2.0.2 |
Affected products
- Pylons pyramid
Classification
- Weakness
-
- CWE-22 Improper Limitation of a Pathname to a Restricted Directory
References
-
github.com
/python/cpython/pull/106816
web, patch
-
github.com
/Pylons/pyramid/commit/347d7750da6f45c7436dd0c31468885cc9343c85
web, patch
-
github.com
/Pylons/pyramid/security/advisories/GHSA-j8g2-6fc7-q8f8
web, patch, vendor-advisory
-
github.com
/python/cpython/issues/106242
web, issue-tracking, third-party-advisory
-
lists.fedoraproject.org
/archives/list/package-announce@lists.fedoraproject.org/message/OQIPHQTM3XE5NIEXCTQFV2J2RK2YUSMT/
mailing-list
-
lists.fedoraproject.org
/archives/list/package-announce@lists.fedoraproject.org/message/LYSDTQ7NP5GHPQ7HBE47MBJQK7YEIYMF/
mailing-list
-
nvd.nist.gov
/vuln/detail/CVE-2023-40587
advisory
-
github.com
/Pylons/pyramid
package
-
lists.fedoraproject.org
/archives/list/package-announce@lists.fedoraproject.org/message/LYSDTQ7NP5GHPQ7HBE47MBJQK7YEIYMF
web
-
lists.fedoraproject.org
/archives/list/package-announce@lists.fedoraproject.org/message/OQIPHQTM3XE5NIEXCTQFV2J2RK2YUSMT
web
-
pypi.org
/project/pyramid
package
-
github.com
/advisories/GHSA-j8g2-6fc7-q8f8
advisory
Sources
- CVE List CVE-2023-40587
- GitHub Advisory GHSA-j8g2-6fc7-q8f8
- NVD CVE-2023-40587
- OSV PYSEC-2026-1840
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.