---
id: CVE-2026-28351
aliases:
  - GHSA-f2v5-7jq9-h8cg
  - PYSEC-2026-3017
title: 'pypdf: Manipulated RunLengthDecode streams can exhaust RAM'
summary: 'pypdf: Manipulated RunLengthDecode streams can exhaust RAM'
severity: medium
vendor: pypdf
product: pypdf
ecosystem: pip
affected:
  - pypdf < 6.7.4
patched:
  - pypdf 6.7.4
published: '2026-02-28'
updated: '2026-09-10'
sourceUpdated: '2026-09-10T03:50:34.825129703Z'
source: OSV
sourceUrl: 'https://osv.dev/vulnerability/GHSA-f2v5-7jq9-h8cg'
references:
  - url: 'https://github.com/py-pdf/pypdf/security/advisories/GHSA-f2v5-7jq9-h8cg'
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-28351'
  - url: 'https://github.com/py-pdf/pypdf/pull/3664'
  - url: >-
      https://github.com/py-pdf/pypdf/commit/f309c6003746414dc7b5048c19e6d879ff2dc858
  - url: 'https://github.com/py-pdf/pypdf'
  - url: 'https://github.com/py-pdf/pypdf/releases/tag/6.7.4'
tags:
  - osv
  - pip
epss: 0.00535
epssPercentile: 0.42877
ingestedAt: '2026-07-13T18:57:57.025Z'
---

## Overview

### Impact

An attacker who uses this vulnerability can craft a PDF which leads to large memory usage. This requires parsing the content stream using the RunLengthDecode filter.

### Patches
This has been fixed in [pypdf==6.7.4](https://github.com/py-pdf/pypdf/releases/tag/6.7.4).

### Workarounds
If you cannot upgrade yet, consider applying the changes from PR [#3664](https://github.com/py-pdf/pypdf/pull/3664).

## Affected packages

- `pypdf < 6.7.4`

## Remediation

Upgrade to a patched release:

- `pypdf 6.7.4`
