Skip to content

CVE-2026-4519: CPython webbrowser.open() Leading Dash Argument Injection

HERMES

HERMES THREAT SCORE & APPLICATION RUNTIME ATTACK SURFACE

Target: CPython (Lib/webbrowser.py)
Confidence: 94%
85 / 100
HIGH

Measures real-world operational relevance, exploit weaponization, and active threat posture.

Dimension Breakdown
Exploitability 18 / 20
Threat Activity 16 / 20
Weaponization 17 / 20
Exposure 18 / 20
Prevalence 19 / 20
Impact 18 / 20
Exploit Maturity 17 / 20
Attack Chain Potential 19 / 20
βš–οΈ Divergence & Operational Rationale

CVSS v3.1 rates CVE-2026-4519 at 7.8 (HIGH, CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H). The Hermes Threat Score evaluates operational impact at 85 (HIGH) reflecting broad ecosystem exposure across data pipelines, MLOps, and developer environments.

πŸ•ΈοΈ Connected Knowledge Graph & Provenance

CVE-2026-4519: CPython webbrowser.open() Leading Dash Argument InjectionVULNERABILITY

Connected Nodes: 2
Active Relationships (Outgoing)
→ affectsPRODUCTCPython Interpreter & Standard Library
98% VERY_HIGH

Software platform affected by security vulnerabilities and agentic attack patterns.

πŸ” Why is this related? (Evidence & Provenance)

“Confirmed security vulnerability in CPython Interpreter & Standard Library documented in Hermes dossier.”

Supporting Verified Evidence:
→ usesATTACK TECHNIQUET1059: Command and Scripting Interpreter
90% VERY_HIGH

Adversaries abuse command and script interpreters (Bash, Python, PowerShell) to execute arbitrary commands.

πŸ” Why is this related? (Evidence & Provenance)

“Attack execution telemetry aligns with MITRE ATT&CK technique T1059.”

Supporting Verified Evidence:

The component CPython (Lib/webbrowser.py) provides fundamental runtime services and data parsing across Python microservices, analytics pipelines, and AI platforms.

ParameterTechnical SpecificationThreat Intelligence Context
CVE IdentifierCVE-2026-4519Official Upstream Security Release
Affected Productpython:cpythonPython Ecosystem Component
Vulnerable ComponentCPython (Lib/webbrowser.py)Standard Library / Package Utility
Weakness ClassCWE-88: Improper Neutralization of Argument Delimiters in a CommandExecution / Resource Safety Flaw
CVSS v3.1 Score7.8 (HIGH / Hermes Score 85)CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Fixed Version3.13.13Official upstream patch release
MITRE ATT&CKT1202 - Indirect Command Execution, T1059.006 - PythonExecution / Denial of Service
Forensic Cross-ReferenceLinux Privileges and Command Execution ForensicsMemory analysis and process diagnostics

Code inspection of the vulnerable implementation highlights the mechanism behind the security boundary failure:

# Flaw in Lib/webbrowser.py (UnixBrowser.open)
def open(self, url, new=0, autoraise=True):
cmdline = [self.name] + self.args
# VULNERABILITY: url is appended directly without '--' separator!
# If url starts with '--', browser treats it as a CLI switch!
cmdline.append(url)
try:
if sys.platform[:3] == 'win':
p = subprocess.Popen(cmdline)
else:
p = subprocess.Popen(cmdline, close_fds=True)
return True

When unvetted user input reaches this routine, the application encounters an unhandled edge case or unbounded processing loop, destabilizing the execution environment or enabling control-flow manipulation.


  1. Initial Vector & Preconditions: A desktop Python application, CLI tool, or AI agent invokes webbrowser.open(user_url).
  2. Triggering Primitive: The attacker injects crafted payload data targeting CPython (Lib/webbrowser.py).
  3. Control Bypass / Resource Saturation: Flaw in Lib/webbrowser.py (UnixBrowser.open).
  4. Impact Realization: When the browser launches, Chrome or Edge exposes a local DevTools interface that the attacker connects to via WebSocket, gaining arbitrary shell execution..

Security operations centers and incident response teams can identify exploitation activity through process telemetry, memory dumps, and operating system audit trails.

Process Telemetry & Logs

Inspect application logs and process crash diagnostics matching: audit: type=1300 ... comm="chrome" args="--load-extension=/tmp/evil" syscall=execve. Monitor for abnormal CPU spikes or unexpected out-of-memory terminations.

sigma_cve_2026_4519.yaml
title: Browser Spawned with Suspicious Debugging Arguments from Python
id: cve-2026-4519
status: experimental
description: Detects anomalies and resource abuse associated with CVE-2026-4519.
logsource:
category: process_creation
product: linux
detection:
selection:
- 'audit:'
- 'cpython'
condition: selection
fields:
- CommandLine
- User
level: high

Immediate remediation involves upgrading to patched library versions and enforcing input sanitization best practices:

  1. Package Upgrade: Update python:cpython to version 3.13.13 or higher using pip install --upgrade or distribution security repositories.
  2. Defensive Programming: Enforce strict size quotas, input schema validation, and disable unsafe deserialization primitives (replace pickle with safetensors or JSON).
  3. Forensic Guidance: For complete forensic telemetry workflows, consult our guide on Linux Privileges and Command Execution Forensics.