PeTeReport 0.5 - Stored XSS (Markdown)

Summary

NamePeTeReport 0.5 - Stored XSS (Markdown)
Code nameArmstrong
ProductPeTeReport
Affected versionsVersion 0.5
Fixed versionsVersion 0.7
StatePublic
Release date2022-02-23

Vulnerability

KindStored cross-site scripting (XSS)
Rule010. Stored cross-site scripting (XSS)
RemoteYes
CVSSv3 VectorCVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N
CVSSv3 Base Score4.8
Exploit availableNo
CVE ID(s)CVE-2022-25220

Description

PeteReport Version 0.5 allows an authenticated admin user to inject persistent javascript code inside the markdown descriptions while creating a product, report or finding.

Proof of Concept

Steps to reproduce

  1. Click on 'Add Product'.

  2. Insert the following PoC inside the product description.

       [XSS](javascript:alert(1))
    
  3. Click on 'Save Product'.

  4. If a user visits the product and click on the link in the description the javascript code will be rendered.

System Information

  • Version: PeteReport Version 0.5.
  • Operating System: Docker.
  • Web Server: nginx.

Exploit

There is no exploit for the vulnerability but can be manually exploited.

Mitigation

An updated version of PeteReport is available at the vendor page.

Credits

The vulnerability was discovered by Oscar Uribe from the Offensive Team of Fluid Attacks.

References

Vendor page https://github.com/1modm/petereport

Issue https://github.com/1modm/petereport/issues/35

Timeline

Time-lapse-logo

2022-02-08

Vulnerability discovered.

Time-lapse-logo

2022-02-08

Vendor contacted.

Time-lapse-logo

2022-02-09

Vendor replied acknowledging the report.

Time-lapse-logo

2022-02-28

Vulnerability patched.

Time-lapse-logo

2022-02-23

Public Disclosure.