XSS Vulnerability in Markdown Editor

Severity: high · Published 2022-06-17

### Impact

InvenTree uses [EasyMDE](https://github.com/Ionaru/easy-markdown-editor) for displaying markdown text in various places (e.g. for the various "notes" fields associated with various models).

By default, EasyMDE does not sanitize input data, and it is possible for malicious code to be injected into the markdown editor, and executed in the users browser.

*Note: This malicious data must be first uploaded to the database by an authorized user, so the risk here is limited to trusted users*

### Solution

The solution here is two-fold:

- Enable data sanitization for the EasyMDE renderer - [#3205](https://github.com/inventree/InvenTree/pull/3205) - Enforce cleaning of all data uploaded to the database via the API - [#3204](https://github.com/inventree/InvenTree/pull/3204) *(This will be ready for the 0.8.0 release)*

### Patches

- The issue is addressed in the 0.8.0 release - This fix was back-ported to the 0.7.x branch, applied to the 0.7.3 release

### Workarounds

There is no workaround for this issue without upgrading InvenTree to the specified version.

### References

- https://huntr.dev/bounties/ab296cf5-7a3e-4f49-8f63-5b35fc707f03/

### For more information

If you have any questions or comments about this advisory:

* Open an issue in [github](http://github.com/inventree/inventree) * Email us at [security@inventree.org](mailto:security@inventree.org)

Technologies: inventree (PyPI). Vendors: PyPI.

Quick answers

Is This vulnerability exploited in the wild?
No. Junglewise Threat Intelligence has no report of This vulnerability being exploited in the wild.
How severe is This vulnerability?
High severity, published 17 June 2022.
Which products and versions are affected?
inventree (PyPI) < 0.7.3.
Is there a fix for This vulnerability?
No fixed version is recorded yet. Check the vendor's advisory in the references below. If you run it, Junglewise drafts a mitigation that fits your setup and applies it once you approve, with senior security engineers behind it.
Am I affected?
Check whether you run inventree (PyPI) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

Affected products

  • inventree (PyPI) < 0.7.3

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.