Executive brief
PrimeFaces is a popular JSF component library used to build enterprise web applications. A cross-site scripting (XSS) vulnerability in the tooltip feature allows attackers to inject malicious JavaScript code through tooltip titles, which execute in the browsers of users viewing the page. This could lead to session hijacking, credential theft, or malware distribution.
Technical details
The vulnerability is a stored cross-site scripting (XSS) flaw in the tooltip.js component, specifically in the bindTarget function, where user-supplied input used as a tooltip title is not properly HTML-escaped before rendering. An attacker can inject JavaScript code into a tooltip's title attribute (e.g., through an input field), and when the tooltip is displayed, the script executes in the victim's browser with the privileges of the web application. The attack requires network access to a vulnerable PrimeFaces application but does not require authentication or special preconditions. The vulnerability was fixed in PrimeFaces 8.0; all versions prior to 8.0 (including 4.x, 5.x, 6.x, and 7.x) are affected.
Affected products
- PrimeTek PrimeFaces 4.0 through 7.x, prior to 8.0
Timeline
- 2020-03-13: disclosed: Vulnerability reported to NVD
- 2021-05-07: advisory: GHSA advisory published
- 2020: patched: Fixed in PrimeFaces 8.0