CVE-2020-15163
Invalid root may become trusted root in The Update Framework (TUF)
Python TUF (The Update Framework) reference implementation before version 0.12 it will incorrectly trust a previously downloaded root metadata file which failed verification at download time. This allows an attacker who is able to serve multiple new versions of root metadata (i.e. by a person-in-the-middle attack) culminating in a version which has not been correctly signed to control the trust chain for future updates. This is fixed in version 0.12 and newer.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- Low
- User interaction
- Required
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
8.7
Invalid root may become trusted root in The Update Framework (TUF)
Python TUF (The Update Framework) reference implementation before version 0.12 it will incorrectly trust a previously downloaded root metadata file which failed verification at download time. This allows an attacker who is able to serve multiple new versions of root metadata (i.e. by a person-in-the-middle attack) culminating in a version which has not been correctly signed to control the trust chain for future updates. This is fixed in version 0.12 and newer.
- Record
CVE-2020-15163- CVSS 3.1
- 8.7 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N - Weakness
- CWE-863
- Updated
- 2026-11-02
EUVDEUVD-2020-0224
8.7
Python TUF (The Update Framework) reference implementation before version 0.12 it will incorrectly trust a previously downloaded root metadata file which failed verification at download time. This allows an attacker who is able to serve multiple new versions of root metadata (i.e. by a person-in-the-middle attack) culminating in a version which has not been correctly signed to control the trust chain for future updates. This is fixed in version 0.12 and newer.
- Record
EUVD-2020-0224- CVSS 3.1
- 8.7 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N - Updated
- 2026-11-03
GitHub AdvisoriesGHSA-f8mr-jv2c-v8mg
6.3
Invalid root may become trusted root in The Update Framework (TUF)
Impact
The Python TUF reference implementation tuf<0.12 will incorrectly trust a previously downloaded root metadata file which failed verification at download time. This allows an attacker who is able to serve multiple new versions of root metadata (i.e. by a man-in-the-middle attack) culminating in a version which has not been correctly signed to control the trust chain for future updates.
While investigating the reported vulnerability, we discovered that the detailed client workflow was not fully implemented. Specifically, for step 1.3 the newly downloaded root metadata was not being verified with a threshold of keys specified in the new root metadata file. This missing step of the client workflow has been implemented in PR #1101, which is included in v0.14.0 of tuf.
Patches
A fix, is available in version 0.12 and newer.
Workarounds
No workarounds are known for this issue.
References
- Record
GHSA-f8mr-jv2c-v8mg- CVSS 4.0
- 6.3 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N - CVSS 3.1
- 8.7 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N - Weakness
- CWE-345, CWE-863
- Updated
- 2026-11-02
NVD
8.7
Python TUF (The Update Framework) reference implementation before version 0.12 it will incorrectly trust a previously downloaded root metadata file which failed verification at download time. This allows an attacker who is able to serve multiple new versions of root metadata (i.e. by a person-in-the-middle attack) culminating in a version which has not been correctly signed to control the trust chain for future updates. This is fixed in version 0.12 and newer.
- Record
CVE-2020-15163- CVSS 3.1
- 8.7 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N - CVSS 3.1
- 8.2 High
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:N - CVSS 2.0
- 4.9 Medium
AV:N/AC:M/Au:S/C:P/I:P/A:N - Weakness
- CWE-863, CWE-345
- Updated
- 2026-11-02
OSV
8.2
Python TUF (The Update Framework) reference implementation before version 0.12 it will incorrectly trust a previously downloaded root metadata file which failed verification at download time. This allows an attacker who is able to serve multiple new versions of root metadata (i.e. by a person-in-the-middle attack) culminating in a version which has not been correctly signed to control the trust chain for future updates. This is fixed in version 0.12 and newer.
- Record
CVE-2020-15163- CVSS 3.1
- 8.2 High
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:N - Updated
- 2026-11-02
OSVGHSA-f8mr-jv2c-v8mg
6.3
Invalid root may become trusted root in The Update Framework (TUF)
Impact
The Python TUF reference implementation tuf<0.12 will incorrectly trust a previously downloaded root metadata file which failed verification at download time. This allows an attacker who is able to serve multiple new versions of root metadata (i.e. by a man-in-the-middle attack) culminating in a version which has not been correctly signed to control the trust chain for future updates.
While investigating the reported vulnerability, we discovered that the detailed client workflow was not fully implemented. Specifically, for step 1.3 the newly downloaded root metadata was not being verified with a threshold of keys specified in the new root metadata file. This missing step of the client workflow has been implemented in PR #1101, which is included in v0.14.0 of tuf.
Patches
A fix, is available in version 0.12 and newer.
Workarounds
No workarounds are known for this issue.
References
- Record
GHSA-f8mr-jv2c-v8mg- CVSS 4.0
- 6.3 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N - CVSS 3.1
- 8.7 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N - Weakness
- CWE-345, CWE-863
- Updated
- 2026-11-02
OSVPYSEC-2020-145 No score
Python TUF (The Update Framework) reference implementation before version 0.12 it will incorrectly trust a previously downloaded root metadata file which failed verification at download time. This allows an attacker who is able to serve multiple new versions of root metadata (i.e. by a person-in-the-middle attack) culminating in a version which has not been correctly signed to control the trust chain for future updates. This is fixed in version 0.12 and newer.
- Record
PYSEC-2020-145- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
tufPyPI |
before 0.12.0 | 0.12.0 |
tufPyPI |
before 0.12.0, plus listed versions 0.10.00.10.10.10.20.11.00.11.1 Show 10 moreShow less0.11.2.dev10.11.2.dev20.11.2.dev30.11.dev00.12.dev00.12.dev10.12.dev20.7.50.9.80.9.9 |
0.12.0 |
tufPyPI |
before 0.12.0, plus listed versions 0.7.50.9.80.9.90.10.00.10.1 Show 10 moreShow less0.10.20.11.dev00.11.00.11.10.11.2.dev10.11.2.dev20.11.2.dev30.12.dev00.12.dev10.12.dev2 |
0.12.0 |
History
| Recorded | Changed | Sources |
|---|---|---|
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2020-15163 is a high vulnerability (CVSS 8.7) in Linuxfoundation The Update Framework, published September 9, 2020. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.67%, the 52nd percentile. Fixed in tuf 0.12.0.
References
github.com/theupdateframework/tuf/security/advisories/GHSA-f8mr-jv2c-v8mg
github.com/theupdateframework/tuf/pull/885
github.com/theupdateframework/tuf/releases/tag/v0.12.0
pypi.org/project/tuf
github.com/theupdateframework/tuf/commit/3d342e648fbacdf43a13d7ba8886aaaf07334af7
nvd.nist.gov/vuln/detail/CVE-2020-15163
github.com/pypa/advisory-database/tree/main/vulns/tuf/PYSEC-2020-145.yaml
github.com/advisories/GHSA-f8mr-jv2c-v8mg
github.com/theupdateframework/tuf