CVE-2020-15904 bsdiff4 out-of-bounds write via patch file

High 7.8 Published Updated

A buffer overflow in the bsdiff4 library allows attackers to write to heap memory via crafted patch files, potentially leading to code execution.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Local or same network only
Victim action needed
A user has to click or open something
Fix
Available

What is CVE-2020-15904?

CVE-2020-15904 is a high-severity memory corruption vulnerability in n/a, published on 22 Jul 2020. It can only be exploited from the same machine or local network, and only if a user opens a file or follows a link.

Official description

A buffer overflow in the patching routine of bsdiff4 before 1.2.0 allows an attacker to write to heap memory (beyond allocated bounds) via a crafted patch file.

Weakness: CWE-787

Which versions are affected by CVE-2020-15904?

3 open source packages ship an affected version, including bsdiff4. It affects 1 product.

PackageAffectedFixed in
bsdiff4 PyPIAll versions1.2.0
bsdiff4 PyPIAll versions1.2.0
bsdiff4 PyPIAll versions1.2.0

Products include Pypi Bsdiff4.

How do I fix CVE-2020-15904?

Upgrade bsdiff4 to 1.2.0 or later.

Upgrade to the fixed version. Memory-safe languages, compiler hardening and fuzzing prevent most new cases. More about Memory corruption.

Is CVE-2020-15904 being exploited?

There is no known exploitation of CVE-2020-15904 in the wild and no public exploit code.

Sources

Also known as GHSA-f8m3-jpxr-hm5x, PYSEC-2020-30.

Is CVE-2020-15904 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free