CVE-2025-54299 Overview
A stored Cross-Site Scripting (XSS) vulnerability has been discovered in the No Boss Testimonials component for Joomla. This vulnerability affects multiple versions of the component, allowing attackers to inject malicious scripts that persist in the application and execute whenever users access the affected pages. Stored XSS vulnerabilities are particularly dangerous as they do not require tricking users into clicking malicious links—the payload is automatically executed when legitimate users view the compromised content.
Critical Impact
This stored XSS vulnerability enables attackers to inject persistent malicious scripts into the No Boss Testimonials component, potentially leading to session hijacking, credential theft, defacement, and further compromise of Joomla installations.
Affected Products
- No Boss Testimonials component versions 1.0.0 through 3.0.0 for Joomla
- No Boss Testimonials component versions 4.0.0 through 4.0.2 for Joomla
Discovery Timeline
- 2025-07-28 - CVE-2025-54299 published to NVD
- 2025-07-29 - Last updated in NVD database
Technical Details for CVE-2025-54299
Vulnerability Analysis
This stored XSS vulnerability (CWE-79: Improper Neutralization of Input During Web Page Generation) in the No Boss Testimonials component stems from insufficient input validation and output encoding. The vulnerability allows attackers to inject malicious JavaScript code that gets stored in the application's database and subsequently rendered to users viewing testimonial content.
The network-based attack vector requires no authentication, making it accessible to remote unauthenticated attackers. While user interaction is required (victims must view the page containing the malicious payload), the persistent nature of stored XSS means the attack remains active until the malicious content is removed.
Successful exploitation can result in compromise of user sessions, theft of authentication credentials, manipulation of displayed content, redirection to malicious sites, and potential lateral movement within the Joomla installation. The vulnerability impacts both the vulnerable component and potentially other components sharing the same session context.
Root Cause
The vulnerability exists due to improper neutralization of user-supplied input in the testimonials functionality. The No Boss Testimonials component fails to adequately sanitize and encode user input before storing it in the database and rendering it in HTML output. This allows malicious script content to be preserved and executed in the browsers of users viewing the testimonials.
Attack Vector
An attacker can exploit this vulnerability by submitting specially crafted input containing JavaScript code through the testimonials submission functionality. The malicious payload is stored in the Joomla database and executed whenever the testimonial is displayed to other users, including administrators. The network-accessible attack vector with no authentication requirements makes this vulnerability particularly concerning for public-facing Joomla installations.
The attack flow typically involves: (1) attacker identifies the testimonials submission form, (2) malicious JavaScript payload is crafted and submitted as testimonial content, (3) payload is stored in the database without proper sanitization, (4) when any user views the testimonials page, the malicious script executes in their browser context.
Detection Methods for CVE-2025-54299
Indicators of Compromise
- Unusual JavaScript code or HTML tags present in testimonial database entries
- Suspicious <script> tags, event handlers (e.g., onerror, onload), or encoded payloads in testimonial content
- Reports from users of unexpected browser behavior when viewing testimonials pages
- Unauthorized session activity or account compromise following visits to testimonial pages
Detection Strategies
- Implement Web Application Firewall (WAF) rules to detect and block XSS payloads in form submissions
- Review database content for testimonials containing suspicious HTML or JavaScript code
- Monitor server logs for unusual patterns of POST requests to testimonial submission endpoints
- Enable Content Security Policy (CSP) headers and monitor for CSP violation reports
Monitoring Recommendations
- Configure real-time alerting for WAF XSS detection rules triggering on testimonials endpoints
- Implement database integrity monitoring to detect insertion of suspicious content
- Monitor Joomla administrative session activity for signs of session hijacking
- Enable browser console error monitoring for CSP violations on testimonials pages
How to Mitigate CVE-2025-54299
Immediate Actions Required
- Upgrade No Boss Testimonials component to a patched version as soon as one becomes available
- Review and sanitize existing testimonial entries in the database for malicious content
- Implement Content Security Policy (CSP) headers to mitigate XSS impact
- Consider temporarily disabling the testimonials component until a patch is applied
- Apply input validation at the web server or WAF level to filter known XSS patterns
Patch Information
Organizations using the No Boss Testimonials component should monitor the No Boss Extensions website for security updates and patched versions. It is recommended to upgrade from vulnerable versions (1.0.0-3.0.0 and 4.0.0-4.0.2) to the latest available version that addresses this vulnerability.
Workarounds
- Deploy a Web Application Firewall with XSS filtering rules to inspect and sanitize testimonial submissions
- Implement server-side input validation to strip or encode HTML and JavaScript from user submissions
- Enable Content Security Policy (CSP) headers with strict script-src directives to prevent inline script execution
- Restrict access to testimonial submission functionality to authenticated users only
- Regularly audit testimonial database content for suspicious entries
# Example: Add Content Security Policy header in Apache .htaccess
Header set Content-Security-Policy "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'"
# Example: Block common XSS patterns in ModSecurity WAF
SecRule ARGS "@detectXSS" "id:1,phase:2,deny,status:403,msg:'XSS Attack Detected'"
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.


