First published: Tue Oct 19 2021(Updated: )
### Impact In both clients (`tuf/client` and `tuf/ngclient`), there is a path traversal vulnerability that in the worst case can overwrite files ending in `.json` anywhere on the client system on a call to `get_one_valid_targetinfo()`. It occurs because the rolename is used to form the filename, and may contain path traversal characters (ie `../../name.json`). The impact is mitigated by a few facts: * It only affects implementations that allow arbitrary rolename selection for delegated targets metadata * The attack requires the ability to A) insert new metadata for the path-traversing role and B) get the role delegated by an existing targets metadata * The written file content is heavily restricted since it needs to be a valid, signed targets file. The file extension is always .json. ### Patches A fix is available in version 0.19 or newer. ### Workarounds None that do not require code changes. Clients can restrict the allowed character set for rolenames, or they can store metadata in files named in a way that is not vulnerable: neither of these approaches is possible without modifying python-tuf. ### References - [The issue where this was discovered](https://github.com/theupdateframework/python-tuf/issues/1527) - [Proof of Concept demonstrating the flaw](https://github.com/jku/path-traversal-poc) ### For more information If you have any questions or comments about this advisory: * Open an issue in [python-tuf](https://github.com/theupdateframework/python-tuf/issues) * Contact the maintainers by email or Slack
Credit: security-advisories@github.com security-advisories@github.com
Affected Software | Affected Version | How to fix |
---|---|---|
Linuxfoundation The Update Framework | <=0.18.1 | |
pip/tuf | >=0<0.19.0 | 0.19.0 |
<=0.18.1 |
https://github.com/theupdateframework/python-tuf/commit/4ad7ae48fda594b640139c3b7eae21ed5155a102
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
CVE-2021-41131 is a path traversal vulnerability in the Python reference implementation of The Update Framework (TUF) in the clients tuf/client and tuf/ngclient, which can allow files ending in .json to be overwritten on the client system.
CVE-2021-41131 has a severity rating of 8.7 out of 10, which is considered high.
CVE-2021-41131 affects Python-TUF versions up to and including 0.18.1.
The path traversal vulnerability in Python-TUF can be exploited by manipulating certain input to overwrite files ending in .json on the client system.
Yes, there is a fix for CVE-2021-41131 which is available in the GitHub commit mentioned in the references.