CVE-2026-48155
pypdf: Possible large memory usage for large offsets for layout mode text
pypdf is a free and open-source pure-python PDF library. Prior to 6.12.0, an attacker who uses this vulnerability can craft a PDF which leads to large memory usage. This requires extracting text in layout mode with large character offsets. This vulnerability is fixed in 6.12.0.
Attack profile
How easy it is to exploit
- Attack vector
- Local
- Complexity
- Low
- Privileges needed
- None
- User interaction
- Passive
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- Low
Exploit likelihood
What each source reports
CVE List Score used
4.8
pypdf: Possible large memory usage for large offsets for layout mode text
pypdf is a free and open-source pure-python PDF library. Prior to 6.12.0, an attacker who uses this vulnerability can craft a PDF which leads to large memory usage. This requires extracting text in layout mode with large character offsets. This vulnerability is fixed in 6.12.0.
- Record
CVE-2026-48155- CVSS 4.0
- 4.8 Medium
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N - Weakness
- CWE-400
- Updated
- 2026-11-02
EUVDEUVD-2026-32914
4.8
pypdf is a free and open-source pure-python PDF library. Prior to 6.12.0, an attacker who uses this vulnerability can craft a PDF which leads to large memory usage. This requires extracting text in layout mode with large character offsets. This vulnerability is fixed in 6.12.0.
- Record
EUVD-2026-32914- CVSS 4.0
- 4.8 Medium
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-cj93-chg6-vgv8
4.8
pypdf: Possible large memory usage for large offsets for layout mode text
Impact
An attacker who uses this vulnerability can craft a PDF which leads to large memory usage. This requires extracting text in layout mode with large character offsets.
Patches
This has been fixed in pypdf==6.12.0.
Workarounds
If developers are unable to immediately upgrade, they should consider applying the changes from PR #3790.
- Record
GHSA-cj93-chg6-vgv8- CVSS 4.0
- 4.8 Medium
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N - Weakness
- CWE-400
- Updated
- 2026-11-02
GitHub AdvisoriesGHSA-jm82-fx9c-mx94
6.9
pypdf: Missing stream length values ignore defined limits
Impact
An attacker who uses this vulnerability can craft a PDF which leads to large memory usage, as MAX_DECLARED_STREAM_LENGTH is sometimes ignored. This requires parsing a content stream without a /Length value.
Patches
This has been fixed in pypdf==6.13.3.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #3871.
- Record
GHSA-jm82-fx9c-mx94- CVSS 4.0
- 6.9 Medium
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N - Weakness
- CWE-400, CWE-770
- Updated
- 2026-11-02
NVD
4.8
pypdf is a free and open-source pure-python PDF library. Prior to 6.12.0, an attacker who uses this vulnerability can craft a PDF which leads to large memory usage. This requires extracting text in layout mode with large character offsets. This vulnerability is fixed in 6.12.0.
- Record
CVE-2026-48155- CVSS 4.0
- 4.8 Medium
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - CVSS 3.1
- 5.5 Medium
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H - Weakness
- CWE-400
- Updated
- 2026-11-02
OSV
4.8
pypdf: Possible large memory usage for large offsets for layout mode text
pypdf is a free and open-source pure-python PDF library. Prior to 6.12.0, an attacker who uses this vulnerability can craft a PDF which leads to large memory usage. This requires extracting text in layout mode with large character offsets. This vulnerability is fixed in 6.12.0.
- Record
CVE-2026-48155- CVSS 4.0
- 4.8 Medium
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N - Weakness
- CWE-400
- Updated
- 2026-11-04
Show 10 moreShow less
OSVDEBIAN-CVE-2026-48155
5.5
pypdf is a free and open-source pure-python PDF library. Prior to 6.12.0, an attacker who uses this vulnerability can craft a PDF which leads to large memory usage. This requires extracting text in layout mode with large character offsets. This vulnerability is fixed in 6.12.0.
- Record
DEBIAN-CVE-2026-48155- CVSS 3.1
- 5.5 Medium
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H - Updated
- 2026-11-03
OSVGHSA-cj93-chg6-vgv8
4.8
pypdf: Possible large memory usage for large offsets for layout mode text
Impact
An attacker who uses this vulnerability can craft a PDF which leads to large memory usage. This requires extracting text in layout mode with large character offsets.
Patches
This has been fixed in pypdf==6.12.0.
Workarounds
If developers are unable to immediately upgrade, they should consider applying the changes from PR #3790.
- Record
GHSA-cj93-chg6-vgv8- CVSS 4.0
- 4.8 Medium
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N - Weakness
- CWE-400
- Updated
- 2026-11-02
OSVGHSA-jm82-fx9c-mx94
6.9
pypdf: Missing stream length values ignore defined limits
Impact
An attacker who uses this vulnerability can craft a PDF which leads to large memory usage, as MAX_DECLARED_STREAM_LENGTH is sometimes ignored. This requires parsing a content stream without a /Length value.
Patches
This has been fixed in pypdf==6.13.3.
Workarounds
If you cannot upgrade yet, consider applying the changes from PR #3871.
- Record
GHSA-jm82-fx9c-mx94- CVSS 4.0
- 6.9 Medium
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N - Weakness
- CWE-400, CWE-770
- Updated
- 2026-11-02
OSVPYSEC-2026-3016
4.8
pypdf: Possible large memory usage for large offsets for layout mode text
Impact
An attacker who uses this vulnerability can craft a PDF which leads to large memory usage. This requires extracting text in layout mode with large character offsets.
Patches
This has been fixed in pypdf==6.12.0.
Workarounds
If developers are unable to immediately upgrade, they should consider applying the changes from PR #3790.
- Record
PYSEC-2026-3016- CVSS 4.0
- 4.8 Medium
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N - Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-48155
4.8
pypdf is a free and open-source pure-python PDF library. Prior to 6.12.0, an attacker who uses this vulnerability can craft a PDF which leads to large memory usage. This requires extracting text in layout mode with large character offsets. This vulnerability is fixed in 6.12.0.
- Record
UBUNTU-CVE-2026-48155- CVSS 4.0
- 4.8 Medium
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N - CVSS 3.1
- 5.5 Medium
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVCLSA-2026-1783386116 No score
TuxCare security update for pypdf (2 CVEs)
TuxCare rebuilt pypdf to address 2 CVEs. Fixed in 5.9.0.post9+tuxcare.
- Record
CLSA-2026-1783386116- Updated
- 2026-11-02
OSVMGASA-2026-0577 No score
Updated python-pypdf package fixes security vulnerabilities
This new version fixes several security vulnerabilities.
- Record
MGASA-2026-0577- Updated
- 2026-11-05
OSVopenSUSE-SU-2026:10974-1 No score
python311-pypdf-6.13.0-1.1 on GA media
These are all security issues fixed in the python311-pypdf-6.13.0-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:10974-1- Updated
- 2026-11-02
OSVROOT-APP-PYPI-CVE-2026-48155 No score
CVE-2026-48155 in pypdf - Patched by Root
Root has patched CVE-2026-48155 in the pypdf package for Root:PyPI. Multiple fixed versions available.
- Record
ROOT-APP-PYPI-CVE-2026-48155- Updated
- 2026-11-02
OSVROOT-APP-PYPI-GHSA-jm82-fx9c-mx94 No score
GHSA-jm82-fx9c-mx94 in pypdf - Patched by Root
Root has patched GHSA-jm82-fx9c-mx94 in the pypdf package for Root:PyPI. Multiple fixed versions available.
- Record
ROOT-APP-PYPI-GHSA-jm82-fx9c-mx94- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
pypdfPyPI |
before 6.12.0 | 6.12.0 |
pypdfPyPI |
before 6.13.3 | 6.13.3 |
pypdfTuxCare:PyPI |
5.9.0 up to 5.9.0.post9+tuxcare, plus listed versions 5.9.0.post1+tuxcare5.9.0.post2+tuxcare5.9.0.post3+tuxcare5.9.0.post4+tuxcare5.9.0.post5+tuxcare5.9.0.post6+tuxcare5.9.0.post7+tuxcare5.9.0.post8+tuxcare |
5.9.0.post9+tuxcare |
pypdfDebian:12 |
All versions, plus listed versions 3.17.4-13.4.1-13.4.1-1+deb12u14.0.0-14.0.0-1~exp1 Show 13 moreShow less4.0.1-14.0.2-14.1.0-14.2.0-14.3.1-15.4.0-16.19.0-16.21.0-16.21.1-16.21.4-16.9.0-16.9.2-16.9.2-2 |
None known |
pypdfDebian:13 |
All versions, plus listed versions 5.4.0-16.19.0-16.21.0-16.21.1-16.21.4-16.9.0-16.9.2-16.9.2-2 |
None known |
pypdfDebian:14 |
before 6.19.0-1, plus listed versions 5.4.0-16.9.0-16.9.2-16.9.2-2 |
6.19.0-1 |
pypdf2Debian:12 |
All versions, plus listed versions 2.12.1-32.12.1-3+deb12u12.12.1-4 |
None known |
pypdfPyPI |
before 6.12.0, plus listed versions 1.01.11.101.111.12 Show 45 moreShow less1.131.21.31.41.51.61.71.81.93.1.03.10.03.11.03.11.13.12.03.12.13.12.23.13.03.14.03.15.03.15.13.15.23.15.33.15.43.15.53.16.03.16.13.16.23.16.33.16.43.17.03.17.13.17.23.17.33.17.43.2.03.2.13.3.03.4.03.4.13.5.03.5.13.5.23.6.03.7.03.7.1 |
6.12.0 |
pypdfPyPI |
before 6.13.3, plus listed versions 1.01.11.101.111.12 Show 45 moreShow less1.131.21.31.41.51.61.71.81.93.1.03.10.03.11.03.11.13.12.03.12.13.12.23.13.03.14.03.15.03.15.13.15.23.15.33.15.43.15.53.16.03.16.13.16.23.16.33.16.43.17.03.17.13.17.23.17.33.17.43.2.03.2.13.3.03.4.03.4.13.5.03.5.13.5.23.6.03.7.03.7.1 |
6.13.3 |
python-pypdfMageia:10 From an advisory covering 4 CVEs |
before 6.16.2-1.mga10 | 6.16.2-1.mga10 |
Show 14 moreShow less
| Package | Affected | Fixed |
|---|---|---|
pypdfRoot:PyPI |
before 6.10.1+aikido.4 | 6.10.1+aikido.46.10.1+aikido.56.10.2+aikido.16.6.0+aikido.116.11.0+aikido.16.11.0+aikido.26.6.0+aikido.126.10.2+aikido.26.10.1+aikido.66.10.1+aikido.76.10.2+aikido.36.11.0+aikido.36.6.0+aikido.136.11.0+aikido.46.6.0+aikido.146.10.2+aikido.46.10.1+aikido.86.10.1+aikido.96.6.0+aikido.156.10.1+aikido.106.11.0+aikido.56.10.2+aikido.5 |
rootio-pypdfRoot:PyPI |
before 6.10.1+root.io.4 | 6.10.1+root.io.46.10.1+root.io.56.10.2+root.io.16.6.0+root.io.116.11.0+root.io.16.11.0+root.io.2 |
pypdfRoot:PyPI |
before 6.6.0+aikido.10 | 6.6.0+aikido.106.10.1+aikido.46.10.1+aikido.56.10.2+aikido.16.6.0+aikido.116.11.0+aikido.16.12.0+aikido.16.12.1+aikido.16.12.2+aikido.16.11.0+aikido.26.13.2+aikido.16.6.0+aikido.126.10.2+aikido.26.12.1+aikido.26.10.1+aikido.66.12.1+aikido.36.12.0+aikido.26.13.2+aikido.26.10.1+aikido.76.12.0+aikido.36.10.2+aikido.36.11.0+aikido.36.12.2+aikido.26.12.1+aikido.46.6.0+aikido.136.12.0+aikido.46.12.2+aikido.36.11.0+aikido.46.13.2+aikido.36.13.2+aikido.46.12.0+aikido.56.6.0+aikido.146.10.2+aikido.46.12.2+aikido.46.10.1+aikido.86.10.1+aikido.96.6.0+aikido.156.10.1+aikido.106.11.0+aikido.56.12.0+aikido.66.10.2+aikido.56.12.1+aikido.56.12.2+aikido.5 |
rootio-pypdfRoot:PyPI |
before 6.6.0+root.io.10 | 6.6.0+root.io.106.10.1+root.io.46.10.1+root.io.56.10.2+root.io.16.6.0+root.io.116.11.0+root.io.16.12.0+root.io.16.12.1+root.io.16.12.2+root.io.16.11.0+root.io.2 |
pypdf2Ubuntu:Pro:16.04:LTS |
All versions, plus listed versions 1.23+git20141008-11.25.1-11.25.1-1ubuntu0.1~esm11.25.1-1ubuntu0.1~esm2 |
None known |
pypdf2Ubuntu:Pro:18.04:LTS |
All versions, plus listed versions 1.26.0-21.26.0-2ubuntu0.1~esm11.26.0-2ubuntu0.1~esm2 |
None known |
pypdf2Ubuntu:20.04:LTS |
All versions, plus listed versions 1.26.0-21.26.0-3ubuntu11.26.0-3ubuntu1.20.04.11.26.0-3ubuntu1.20.04.2 |
None known |
pypdf2Ubuntu:22.04:LTS |
All versions, plus listed versions 1.26.0-41.26.0-4ubuntu0.22.04.11.26.0-4ubuntu0.22.04.2 |
None known |
pypdfUbuntu:24.04:LTS |
All versions, plus listed versions 3.4.1-13.17.4-14.0.0-14.0.1-14.0.2-1 |
None known |
pypdf2Ubuntu:24.04:LTS |
All versions, plus listed versions 2.12.1-32.12.1-4 |
None known |
pypdfUbuntu:25.10 |
All versions, plus listed versions 4.3.1-15.4.0-1 |
None known |
pypdfUbuntu:26.10 |
All versions, plus listed versions 6.9.2-16.9.2-2 |
None known |
pypdfUbuntu:26.04:LTS |
All versions, plus listed versions 5.4.0-16.9.2-1 |
None known |
python-pypdfopenSUSE:Tumbleweed From an advisory covering 2 CVEs |
before 6.13.0-1.1 | 6.13.0-1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected | ||
| affected, aliases, references | OSV | |
| facts | OSV | |
| affected | OSV | |
| products | NVD | |
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-48155 is a medium vulnerability (CVSS 4.8) in Py-pdf Pypdf, published May 28, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.13%, the 2nd percentile. Fixed in pypdf 6.12.0.
References
github.com/py-pdf/pypdf/security/advisories/GHSA-cj93-chg6-vgv8
github.com/py-pdf/pypdf/pull/3790
github.com/py-pdf/pypdf/releases/tag/6.12.0
nvd.nist.gov/vuln/detail/CVE-2026-48155
github.com/advisories/GHSA-cj93-chg6-vgv8
github.com/py-pdf/pypdf/security/advisories/GHSA-jm82-fx9c-mx94
Show 13 moreShow less
github.com/py-pdf/pypdf/pull/3871
github.com/py-pdf/pypdf/releases/tag/6.13.3
github.com/advisories/GHSA-jm82-fx9c-mx94
github.com/CVEProject/cvelistV5/tree/main/cves/2026/48xxx/CVE-2026-48155.json
security-tracker.debian.org/tracker/CVE-2026-48155
github.com/py-pdf/pypdf
advisories.mageia.org/MGASA-2026-0577.html
bugs.mageia.org/show_bug.cgi?id=35672
pypi.org/project/pypdf
ubuntu.com/security/CVE-2026-48155
cve.org/CVERecord?id=CVE-2026-48155
suse.com/security/cve/CVE-2026-48155
suse.com/security/cve/CVE-2026-48735
Left out here: 110 versions. The JSON record has them.