python-apt uses MD5 for validation
python-apt only checks the MD5 sums of downloaded files in `Version.fetch_binary()` and `Version.fetch_source()` of apt/package.py in version 1.9.0ubuntu1 and earlier. This allows a man-in-the-middle attack which could potentially be used to install altered packages and has been fixed in versions 1.9.0ubuntu1.2, 1.6.5ubuntu0.1, 1.1.0~beta1ubuntu0.16.04.7, 0.9.3.5ubuntu3+esm2, and 0.8.3ubuntu7.5.
- Published
- Mar 26, 2020
- Updated
- Jun 16, 2026
- EPSS
- 0.5% · 37th percentile
- CWE
- CWE-327
Sign in to follow · You’ll be notified if a followed record enters KEV, gets an exploit or is updated.
Report tools
Action score
18
Monitor
Low priority for now.
- CVSS
- 18 / 40 · 4.7 / 10
- CISA KEV
- 0 / 30 · Not listed
- EPSS
- 0 / 30 · 0.5%
CNA vs NVD score
- NVD
- 4.7
- CNA · canonical
- 4.7
- agree
The score given by the assigning authority versus NVD’s independent score. A gap means the severity is contested.
Affected systems
| Vendor | Product | CPE |
|---|---|---|
| ubuntu | python-apt | cpe:2.3:a:ubuntu:python-apt |
| canonical | ubuntu linux | cpe:2.3:o:canonical:ubuntu_linux |
| debian | python-apt | cpe:2.3:a:debian:python-apt |
Affected versions
NVD version ranges (for catalog products). Add the product to your stack with a version and matching uses these.
- debian python-apt1.8.4
- ubuntu python-apt0.8.0
- ubuntu python-apt0.8.1
- ubuntu python-apt0.8.3
- ubuntu python-apt0.8.9.1
- ubuntu python-apt0.9.0
- ubuntu python-apt0.9.1
- ubuntu python-apt0.9.3.1
- ubuntu python-apt0.9.3.2
- ubuntu python-apt0.9.3.3
- ubuntu python-apt0.9.3.4
- ubuntu python-apt0.9.3.5
- ubuntu python-apt1.0.1
- ubuntu python-apt1.1.0
- ubuntu python-apt1.4.0
- ubuntu python-apt1.6.0
- ubuntu python-apt1.6.1
- ubuntu python-apt1.6.2
- ubuntu python-apt1.6.3
- ubuntu python-apt1.6.4
Versions reported by the vendor
Affected version ranges reported by the assigning authority (canonical). Independent of NVD's CPE analysis and usually ahead of it.
Canonical Python-apt
- 0.8.3 and later · before 0.8.3ubuntu7.5affected
- 0.9.3.5 and later · before 0.9.3.5ubuntu3+esm2affected
- 1.1.0 and later · before 1.1.0~beta1ubuntu0.16.04.7affected
- 1.6.5 and later · before 1.6.5ubuntu0.1affected
- 1.9.0 and later · before 1.9.0ubuntu1.2affected
Package-level exposure
OSV and GitHub Advisory data: ecosystem, package and range. SBOM matching uses this table.
| Ecosystem | Package | Affected range | Fix |
|---|---|---|---|
| Debian:10 | python-apt | before 1.8.4.1 | 1.8.4.1 |
| Debian:12 | python-apt | before 1.8.5 | 1.8.5 |
| Debian:8 | python-apt | before 0.9.3.13 | 0.9.3.13 |
| Debian:9 | python-apt | before 1.4.1 | 1.4.1 |
| PyPI | python-apt | from 0.9.0 · before 0.9.3.5ubuntu3 | 0.9.3.5ubuntu3 |
| PyPI | python-apt | from 1.0.0 · before 1.1.0 | 1.1.0 |
| PyPI | python-apt | from 1.2.0 · before 1.6.5ubuntu0.1 | 1.6.5ubuntu0.1 |
| PyPI | python-apt | from 1.7.0 · before 1.9.0ubuntu1.2 | 1.9.0ubuntu1.2 |
| PyPI | python-apt | before 0.8.3ubuntu7.5 | 0.8.3ubuntu7.5 |
Same product
ubuntu: all recordsOther highest-scoring records for the same primary product.
- CVE-2025-6966Null-pointer dereference in python-apt TagSection.keys()27Monitor
- CVE-2019-15796python-apt downloads from untrusted sources18Monitor
Remediation
Which version to upgrade to
Fix versions compiled from the vendor, package registries and Microsoft. Verify the vendor's note before upgrading.
| Product / package | Fixed version | Source |
|---|---|---|
| debian:python-apt | 1.8.5 · Debian:12 | Package registry (OSV) |
| PyPI:python-apt | 0.8.3ubuntu7.5 | Package registry (OSV) |
| PyPI:python-apt | 0.9.3.5ubuntu3 | Package registry (OSV) |
| PyPI:python-apt | 1.1.0 | Package registry (OSV) |
| PyPI:python-apt | 1.6.5ubuntu0.1 | Package registry (OSV) |
| PyPI:python-apt | 1.9.0ubuntu1.2 | Package registry (OSV) |
Exploit status
No known public exploit
No public exploit has been observed yet. That doesn't mean you're safe, only that the bar is a little higher.
Research context
For pentesters and researchers: attack profile, score disagreement, timeline, patch commits, credits, variant and chain candidates, bug bounty scope. All derived from existing data; no exploit code.
Timeline
From publication to today: proof of concept, Metasploit module, CISA KEV and fix record. Dates are as reported by the sources.
No dated events beyond publication.
FIRST EPSS daily score; only changes of 0.01 or more are recorded (step chart).
Patch and commit links
Commit, PR and diff links among the references. A starting point for patch-diffing and variant hunting; fixes, not exploits.
No commit or PR link among the references.
Credits
All researchersFinders, reporters and analysts named in the CNA record. Click a name for that researcher’s other records.
Variant candidates
Same product, same weakness class, within 18 months. If the patch missed the root cause, the sibling bug is here.
No nightly-computed relations.
Chain candidates
An authentication bypass and a privilege-requiring bug in the same product, published close together: combined they may become an unauthenticated path.
—
Bug bounty scope
No known public program.
Source: bounty-targets-data (public HackerOne, Bugcrowd, Intigriti, YesWeHack listings).
Technical details
Attack conditions
- Anyone who can reach it over the internet can trigger it.
- No account or password is required.
- A user must open a link or visit a page.
- Special conditions such as timing or configuration are required.
If successful
- Confidentiality
- low · data can be read
- Integrity
- low · data or configuration can be modified
- Availability
- none
Impact can extend beyond the vulnerable component (scope changes).
- Attack vector
- Network
- Attack complexity
- High
- Privileges required
- None
- User interaction
- Required
- Scope
- Changed
- Confidentiality impact
- Low
- Integrity impact
- Low
- Availability impact
- None
Weakness class (CWE)
CWE-327 · Use of a Broken or Risky Cryptographic AlgorithmCVSS vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N
nvd-primary
Attack context
MITRE CAPEC attack patterns and ATT&CK techniques for this weakness class (CWE). A starting point for detection rules and threat hunting.
Attack patterns (CAPEC)
- Encryption Brute ForcingCAPEC-20likelihood: Low · Low
- Creating a Rogue Certification Authority CertificateCAPEC-459likelihood: Medium · Very High
- Signature SpoofCAPEC-473
- Signature Spoofing by Improper ValidationCAPEC-475likelihood: Low · High
- Cryptanalysis of Cellular EncryptionCAPEC-608High
- Rooting SIM CardsCAPEC-614High
- CryptanalysisCAPEC-97likelihood: Low · Very High
Noroxi analysis
No Noroxi analysis for this record yet
We don't hand-write analysis for all 385,000+ vulnerabilities; that wouldn't be honest. For notable, high-impact vulnerabilities our team writes the mechanism, detection and remediation steps.
We use this product, ask for helpChange log
- Fix✗ → ✓
For records you follow, these changes also arrive as notifications. →
References
Vendor advisories and official records. Exploit/PoC links are deliberately left out.