CVE-2022-24900
CVE-2022-24900 is a critical-severity vulnerability in Piano Led Visualizer Project Piano Led Visualizer with a CVSS 3.x base score of 9.9. It is not currently listed as actively exploited by CISA, and its EPSS exploit-prediction score is low. The underlying weakness is classified as CWE-668.
Key facts
- Severity: Critical (CVSS 3.x base score 9.9)
- CVSS v2: 5.0
- EPSS exploit prediction: 8% (94th percentile)
- Actively exploited: Not listed in CISA KEV
- Weakness: CWE-668
- Affected product: Piano Led Visualizer Project Piano Led Visualizer
- Published:
- Last modified:
Description
Piano LED Visualizer is software that allows LED lights to light up as a person plays a piano connected to a computer. Version 1.3 and prior are vulnerable to a path traversal attack. The `os.path.join` call is unsafe for use with untrusted input. When the `os.path.join` call encounters an absolute path, it ignores all the parameters it has encountered till that point and starts working with the new absolute path. Since the "malicious" parameter represents an absolute path, the result of `os.path.join` ignores the static directory completely. Hence, untrusted input is passed via the `os.path.join` call to `flask.send_file` can lead to path traversal attacks. A patch with a fix is available on the `master` branch of the GitHub repository. This can also be fixed by preventing flow of untrusted data to the vulnerable `send_file` function. In case the application logic necessiates this behaviour, one can either use the `flask.safe_join` to join untrusted paths or replace `flask.send_file` calls with `flask.send_from_directory` calls.
Frequently asked questions
- What is CVE-2022-24900?
- Piano LED Visualizer is software that allows LED lights to light up as a person plays a piano connected to a computer. Version 1.3 and prior are vulnerable to a path traversal attack. The `os.path.join` call is unsafe for use with untrusted input. When the `os.path.join` call encounters an absolute path, it ignores all the parameters it has encountered till that point and starts working with the new absolute path. Since the "malicious" parameter represents an absolute path, the result of `os.path.join` ignores the static directory completely. Hence, untrusted input is passed via the `os.path.join` call to `flask.send_file` can lead to path traversal attacks. A patch with a fix is available on the `master` branch of the GitHub repository. This can also be fixed by preventing flow of untrusted data to the vulnerable `send_file` function. In case the application logic necessiates this behaviour, one can either use the `flask.safe_join` to join untrusted paths or replace `flask.send_file` calls with `flask.send_from_directory` calls.
- How severe is CVE-2022-24900?
- CVE-2022-24900 has a CVSS 3.x base score of 9.9, rated critical severity. It is exploitable over network with low attack complexity, requires no privileges and no user interaction. Impact on confidentiality is high, integrity low, and availability low.
- Is CVE-2022-24900 being actively exploited?
- It is not currently listed in CISA's KEV catalog. Its EPSS exploit-prediction score is 8% (94th percentile), an estimate of the probability of exploitation in the next 30 days.
- What products are affected by CVE-2022-24900?
- CVE-2022-24900 affects Piano Led Visualizer Project Piano Led Visualizer. See the affected-products list for the exact vulnerable versions.
- How do I fix CVE-2022-24900?
- Review the linked vendor and NVD advisories for patched versions and mitigations, then upgrade or apply the recommended workaround. Given its critical severity, prioritise patching exposed systems.
- When was CVE-2022-24900 published?
- CVE-2022-24900 was published on 2022-04-29 and last updated on 2026-06-17.
References
- https://github.com/onlaj/Piano-LED-Visualizer/blob/6a732caa812c83a807c711f3d091af99209cae7b/webinterface/views_api.py#L970
- https://github.com/onlaj/Piano-LED-Visualizer/commit/3f10602323cd8184e1c69a76b815655597bf0ee5
- https://github.com/onlaj/Piano-LED-Visualizer/issues/350
- https://github.com/onlaj/Piano-LED-Visualizer/pull/351
- https://github.com/onlaj/Piano-LED-Visualizer/security/advisories/GHSA-g78x-q3x8-r6m4
Affected products (1)
- cpe:2.3:a:piano_led_visualizer_project:piano_led_visualizer:*:*:*:*:*:*:*:*
Other CWE-668 (Exposure of Resource to Wrong Sphere) vulnerabilities
- CVE-2025-2857 — Critical (CVSS 10.0): Following the recent Chrome sandbox escape (CVE-2025-2783), various Firefox developers identified a similar pattern in…
- CVE-2019-8779 — Critical (CVSS 10.0): A logic issue applied the incorrect restrictions. This issue was addressed by updating the logic to apply the correct…
- CVE-2012-1846 — Critical (CVSS 10.0): Google Chrome 17.0.963.66 and earlier allows remote attackers to bypass the sandbox protection mechanism by leveraging…
- CVE-2022-43684 — Critical (CVSS 9.9): ServiceNow has released patches and an upgrade that address an Access Control List (ACL) bypass issue in ServiceNow…
- CVE-2019-16541 — Critical (CVSS 9.9): Jenkins JIRA Plugin 3.0.10 and earlier does not declare the correct (folder) scope for per-folder Jira site…
- CVE-2026-45411 — Critical (CVSS 9.8): vm2 is an open source vm/sandbox for Node.js. Prior to 3.11.3, it is possible to catch a host exception using the…
Browse all CWE-668 (Exposure of Resource to Wrong Sphere) vulnerabilities →