CVE-2026-85864
Executive Summary
CVE-2026-85864 is a local privilege escalation vulnerability in Python, classified under CWE-641 (Improper Restriction of Names for Files and Other Resources), with a CVSS v3.1 base score of 7.8 (High). An attacker who already holds authorized, low-privileged local access can elevate their privileges on the affected host, achieving High confidentiality, integrity, and availability impact across the vulnerable component. No affected product versions have been enumerated by the vendor, no patch has been published by any tracked source, and there is currently no public proof-of-concept, Nuclei template, or exploit code available; EPSS has not yet scored this CVE.
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.
No signup required
Technical Analysis
CVE-2026-85864 is described by NVD as an "Improper privilege management in Python" issue that "allows an authorized attacker to elevate privileges locally." The CWE mapping is CWE-641, "Improper Restriction of Names for Files and Other Resources." This class covers defects in which a component fails to properly validate, constrain, or namespace the identifiers (such as file names, resource names, or paths) that it uses to locate or create resources. When such naming constraints are missing or insufficient, a local actor able to influence the name or location of a resource can cause the affected process to operate on a resource it should not have access to, leading to privilege boundaries being crossed.
The CVSS v3.1 vector (AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H) tells us the following with precision:
- Attack Vector is Local (AV:L): the attacker must have some form of local access to the target host, or the ability to execute code in a local context (for example, influence over a file path, directory, or resource name consumed by a privileged Python process).
- Attack Complexity is Low (AC:L): no specialized conditions, race windows, or unpredictable circumstances are required — the flaw is reliably triggered once the preconditions are met.
- Privileges Required is Low (PR:L): the attacker is already "authorized" at a low privilege level, consistent with the NVD phrasing "an authorized attacker."
- User Interaction is None (UI:N): the victim or a legitimate user need not perform any action; no social engineering prerequisite exists.
- Scope is Unchanged (S:U): the exploited component remains the security authority; the impact does not cross into a separate security scope.
- Confidentiality, Integrity, and Availability are all High (C:H/I:H/A:H): successful exploitation can expose sensitive data, alter data or code, and disrupt availability of the affected component.
The mechanism, at the vulnerability-class level, is that a privileged Python operation resolves or handles a resource by a name or path that is not properly restricted. Because the naming restriction is improper, a low-privileged local actor who can influence that name/path can redirect the privileged operation to a resource under their control or outside the intended boundary — a classic privilege-management failure that enables escalation from the attacker's existing local context to a higher-integrity context.
The information provided does not identify the specific Python module, function, exception-handling path, class, URL endpoint, or file path involved, nor does it specify whether the issue resides in the Python interpreter/standard library, in a bundled tool (such as pip or venv), or in a downstream product that embeds Python. Those specifics are not available from the provided NVD description or CNA title, and any named function, module, or path would be fabricated. No CVSS temporal or environmental metrics, attack requirements (AT), or subsequent-system impact values were provided, beyond the CVSS v3.1 vector above.
Exploitation Scenarios
No public proof-of-concept exists for CVE-2026-85864 (PoC: None; Nuclei template: NO; exploit code: NO). The attack chain below is therefore inferred at the vulnerability-class level from the NVD description, the CWSS/CWE-641 classification, and the CVSS vector. No specific function names, class names, file paths, or API parameters are asserted because none are present in the source data.
Reconnaissance / target identification. The attacker first determines that they possess a foothold on a host running the affected Python component — consistent with AV:L and PR:L. Since no affected version range is published, target scoping must rely on internal inventory of Python-based services, interpreters, or embedded runtimes rather than on a vendor version filter.
Triggering the flaw class. With low-privileged local access established, the attacker identifies a privilege boundary in which a higher-privileged process performs an operation on a resource referenced by a name or path that the attacker can influence. Because CWE-641 describes improper restriction of names for files and other resources, the trigger occurs when the affected component fails to constrain, validate, or namespace that resource name — allowing the attacker's chosen name to be acted upon by the more privileged context.
Payload / execution method (class-level). The execution primitive is a resource-name/path redirection: the attacker arranges for the improperly restricted name to resolve to a resource they control or to a location they wish the privileged operation to touch. No memory-corruption primitive, deserialization gadget, or command string is asserted here, as the data does not support any of those specifics.
Post-exploitation impact. Successful exploitation elevates the attacker's privileges locally (T1068), yielding the High confidentiality, integrity, and availability impacts reflected in the CVSS vector. From the elevated context, the attacker can read sensitive data, modify data or code, and disrupt the affected component — all within the same security scope (S:U).
Caveat. The absence of a public exploit, template, or technical detail means the above steps describe the class of attack only. The concrete artifact names required to reproduce the issue in a lab are not available from the provided intelligence.
Impact Assessment
- CVSS v3.1 Base Score: 7.8 (High) — vector CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H.
- Confidentiality (C:H): A successful attacker can obtain data they were not authorized to read. In environments where Python executes with access to secrets, configuration, or credential material, this is the primary business risk.
- Integrity (I:H): The attacker can alter data or code within the affected component, raising the prospect of code-tampering, backdooring, or persistent modification of the trusted runtime.
- Availability (A:H): The attacker can disrupt the affected component, with potential denial of service to whatever service depends upon it.
- Blast radius: Because AV:L and PR:L are both set, every host on which the affected Python component runs and on which an attacker already holds a low-privileged foothold is a candidate. The absence of a published affected-version list prevents precise blast-radius quantification. Organizations should treat any Python deployment with a multi-user or multi-tenant trust boundary as potentially in scope until the vendor clarifies affected versions.
- Exploitability in the wild: EPSS has not yet scored this CVE; there is no CISA KEV entry; and there is no public PoC, Nuclei template, or exploit code. CISA KEV status: NO. The practical near-term risk is driven by insider threat, post-compromise lateral movement, and multi-tenant hosting rather than by automated internet-scale exploitation.
Detection Guidance
Because no specific function, module, or path is named in the source data, the following detections target the behavioral signature of improper resource-name/privilege management: unusual process ancestry, privilege-context transitions, and resource access by name in unexpected contexts. All rules below are illustrative starting points and must be tuned to the environment.
Sigma Rule
title: Potential Local Privilege Escalation via Python Improper Resource Naming (CVE-2026-85864)
id: 8f3a1c2e-4b6d-4a91-9c3f-7d2e5b1a0c44
status: experimental
description: Detects a low-privileged process spawning or influencing a privileged Python process that resolves resources by attacker-influenceable names, consistent with CWE-641 local privilege escalation.
references:
- https://nvd.nist.gov/vuln/detail/CVE-2026-85864
author: valtersit.com Threat Intelligence
date: 2026/01/01
tags:
- attack.privilege_escalation
- attack.t1068
- cve.2026.85864
logsource:
category: process_creation
product: linux
detection:
selection_python:
Image|endswith:
- '/python'
- '/python3'
- '/python3.10'
- '/python3.11'
- '/python3.12'
- '/python3.13'
selection_priv:
User|in:
- 'root'
- 'SYSTEM'
- 'Administrator'
selection_parent_lowpriv:
ParentUser|notin:
- 'root'
- 'SYSTEM'
- 'Administrator'
condition: selection_python and selection_priv and selection_parent_lowpriv
falsepositives:
- Legitimate sudo invocations of Python by administrators
- Configuration management and automation agents
level: medium
YARA Rule
rule CVE_2026_85864_Python_PrivEsc_Resource_Name
{
meta:
description = "Heuristic detection of artifacts related to CVE-2026-85864 (Python local privilege escalation, CWE-641)"
author = "valtersit.com Threat Intelligence"
reference = "https://nvd.nist.gov/vuln/detail/CVE-2026-85864"
date = "2026-01-01"
cve = "CVE-2026-85864"
severity = "high"
strings:
$py1 = "python" ascii wide nocase
$res1 = "resource name" ascii wide nocase
$res2 = "file name" ascii wide nocase
$priv1 = "privilege" ascii wide nocase
$priv2 = "escalat" ascii wide nocase
condition:
filesize < 5MB and
$py1 and
(2 of ($res*) or 2 of ($priv*))
}
Suricata IDS Rule
alert tcp any any -> any any (msg:"CVE-2026-85864 Possible Python Local Privilege Escalation Resource-Name Abuse"; flow:to_server,established; content:"python"; nocase; content:"privilege"; nocase; distance:0; content:"/tmp/"; nocase; distance:0; threshold:type limit, track by_src, count 3, seconds 60; classtype:attempted-admin; reference:cve,2026-85864; reference:url,nvd.nist.gov/vuln/detail/CVE-2026-85864; metadata:created_at 2026_01_01, updated_at 2026_01_01; sid:202685864; rev:1;)
Elastic Detection
process where event.type == "start" and
process.name : ("python", "python3", "python3.10", "python3.11", "python3.12", "python3.13") and
user.name : ("root", "SYSTEM", "Administrator") and
not process.parent.user.name : ("root", "SYSTEM", "Administrator")
Splunk SPL Query
index=endpoint OR index=linux
| search (process_name="python" OR process_name="python3*")
| search user IN ("root","SYSTEM","Administrator")
| search NOT parent_user IN ("root","SYSTEM","Administrator")
| stats count min(_time) as first_seen max(_time) as last_seen values(command_line) as cmd values(parent_process_name) as pproc by host user process_name
| where count >= 1
| sort - count
Wazuh OSSEC Rule
<group name="cve_2026_85864,python,privilege_escalation,">
<rule id="100864" level="10">
<if_sid>5501</if_sid>
<field name="audit.exe">python3|python3.1[0-9]</field>
<field name="audit.euid">0</field>
<description>CVE-2026-85864: Possible Python local privilege escalation - privileged Python process spawned from low-privileged context</description>
<mitre>
<id>T1068</id>
</mitre>
<group>privilege_escalation,audit,</group>
</rule>
<rule id="100865" level="12">
<if_matched_sid>100864</if_matched_sid>
<same_source_ip />
<description>CVE-2026-85864: Repeated privileged Python spawns from low-privileged context - potential exploitation</description>
<group>privilege_escalation,audit,</group>
</rule>
</group>
Mitigation & Patch Guidance
Patch confidence: 0/4 (UNPATCHED — no patch evidence from any tracked source). No vendor advisory, no fixed version, and no workaround have been published for CVE-2026-85864 as of this report. The recommendations below are risk-reduction measures and are not a substitute for a vendor patch.
Immediate mitigations
- Enforce least privilege: audit for Python processes executing in elevated contexts and remove unnecessary privilege from them. Every elevated Python execution is a candidate boundary for this CWE-641 class of flaw.
- Eliminate attacker-writable influence over resource names/paths consumed by privileged Python processes; wherever possible, run such processes with resolved absolute paths under root-owned, non-world-writable directories (e.g., mountpoints and temp locations).
- Constrain who can write to directories that privileged Python components read from; enforce filesystem permissions and, where the platform permits,
noexec/nosuidon writable mounts. - Monitor for and, where feasible, block the execution of Python from world-writable or user-writable locations by privileged contexts.
Patch / upgrade steps
- No fixed version exists yet. Track the official CPython security advisories and release notes and apply patched releases for the affected branch(es) as soon as they are published.
- Since no affected version range is provided, perform an internal inventory of every Python interpreter, standard-library deployment, and embedded Python runtime in use, and map it to the eventual vendor fix once published.
- Where a vendor/OS distribution provides its own Python package, prefer the distribution's patched package and its advisory channel.
Long-term hardening
- Reduce the population of hosts on which a low-privileged actor (PR:L) can reach an elevated Python code path — segment and harden multi-tenant Python hosts.
- Adopt a vulnerability-management process keyed to CVE and CWE (this issue is CWE-641) so that future fixes are expedited.
- Maintain filesystem permission baselines for Python installation and resource directories, and integrate the detection rules above into the SOC pipeline to catch exploitation attempts while the vulnerability remains unpatched.
References
- NVD — CVE-2026-85864: https://nvd.nist.gov/vuln/detail/CVE-2026-85864
- CWE-641 — Improper Restriction of Names for Files and Other Resources: https://cwe.mitre.org/data/definitions/641.html
- MITRE ATT&CK — T1068 Exploitation for Privilege Escalation: https://attack.mitre.org/techniques/T1068/
- CPython security advisories (primary vendor channel for Python issues): https://www.python.org/news/security/
- CISA Known Exploited Vulnerabilities Catalog (checked — CVE-2026-85864 not listed): https://www.cisa.gov/known-exploited-vulnerabilities-catalog
Threat actor attribution: none available. There is no CISA KEV entry, no EPSS score, and no public exploit or PoC for CVE-2026-85864, so no exploit-in-the-wild campaign or named threat actor can be associated with this CVE at this time.
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.