GitHub Advisoryadvisory · PyPI

GHSA-rm89-9g65-4ffr Insufficient HTML Sanitization

HIGH Published 2022-06-17 Modified 2022-06-17 Official page ↗
Ecosystem
PyPI
Packages
inventree
Severity
High
Reviewed
2022-06-17

Affected packages

• PyPI inventree: < 0.7.2 → fixed in 0.7.2

Description

Impact Affected versions can have malicious javascript code injected into the users browser by other authenticated users, as data fields retrieved from the database are not properly sanitized before displaying in various front-end views. The problem here stems from multiple issues: • Insufficient database sanitation on multiple fields allows injection of un-sanitized HTML • Lack of HTML escaping when rendering data on the front end The attack vector here is limited, as only authenticated users are able to write data to the database, for it to be subsequently rendered on the front-end. However, it is a vulnerability that the InvenTree development team takes seriously. Solution The proposed patch for this vulnerability is prevents injection of un-escaped fields into front-end UI elements. A future patch will also address sanitization of database fields on the "back end", however this will require a much larger effort to refactor multiple database tables. Patches • The issue is addressed in the upcoming `0.8.0` release • This fix will also be back-ported to the `0.7.x` branch, applied to the `0.7.2` release Workarounds There are no workarounds for this issue, users should upgrade to a patched version. References • https://huntr.dev/bounties/4cae8442-c042-43c2-ad89-6f666eaf3d57/ • https://huntr.dev/bounties/9d640ef2-c52c-4106-b043-f7497d577078/ • https://huntr.dev/bounties/b114e82f-6c02-485b-82ea-e242f89169c2/ • https://huntr.dev/bounties/22783cd3-1b2c-48fc-b31f-03b53c86da0b/ Thank you @saharshtapi for bringing this issue to our attention and giving pointers for fixing them. For more information If you have any questions or comments about this advisory: • Open an issue in github • Email us at [email protected]

References