CVE-2026-34444: Lupa has a Sandbox escape and RCE due to incomplete attribute_filter enforcement in getattr / setattr
Lupa integrates the runtimes of Lua or LuaJIT2 into CPython. In 2.6 and earlier, attribute_filter is not consistently applied when attributes are accessed through built-in functions like getattr and setattr. This allows an attacker to bypass the intended restrictions and eventually achieve arbitrary code execution.
Security readout for executives and security teams
Plain-English summary
Lupa is a Python package that embeds Lua. In version 2.6 and earlier, its sandbox restrictions can be bypassed through normal attribute access helpers, which may let an attacker escape intended limits and run code. This is high impact where untrusted Lua code is accepted.
Executive priority
Prioritize remediation for internet-facing or multi-tenant systems that execute Lua through Lupa. Treat this as urgent where the sandbox is a security boundary, because successful exploitation can become remote code execution.
Technical view
The issue is incomplete enforcement of Lupa's attribute_filter for getattr and setattr-style access. That weakens object access controls in the Python-Lua boundary and can lead to sandbox escape and arbitrary code execution. The CVSS 3.1 score is 8.1 with high confidentiality, integrity, and availability impact.
Likely exposure
Exposure is most likely in services that use scoder Lupa <= 2.6 to run untrusted or semi-trusted Lua/LuaJIT code inside CPython. Applications using Lupa only for fully trusted internal scripts have lower practical risk but should still update.
Exploitation context
The bundle does not show CISA KEV listing or confirmed active exploitation. The CVSS vector is network reachable with no privileges or user interaction, but high attack complexity, suggesting exploitation depends on application-specific access to Lupa sandboxed execution.
Researcher notes
Affected product evidence names scoder Lupa <= 2.6. The public bundle attributes the weakness to inconsistent attribute_filter enforcement through getattr and setattr. No exploit status, proof-of-concept, or precise fixed upstream version is included here.
Mitigation direction
Inventory Python environments for scoder Lupa and identify versions <= 2.6.
Check upstream GHSA and distro advisories for the fixed package version.
Apply vendor-provided updates where available, including relevant Red Hat errata.
Avoid running untrusted Lua through Lupa until remediated or strongly isolated.
Review sandbox assumptions around attribute_filter use in affected applications.
Validation and detection
Confirm installed Lupa versions in production, CI, containers, and build lockfiles.
Identify code paths that execute user-supplied or tenant-controlled Lua.
Verify updated packages are deployed and old runtime images are retired.
Review dependency scanners for CVE-2026-34444 coverage and suppressions.
Confirm no application logic relies on attribute_filter as the only trust boundary.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · medium confidence lookup
CWE-284: Authorization and privilege behavior lookup
Authorization weaknesses can support privilege escalation and valid-account review, depending on exploit path. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
The CVE wording references code or command execution, so execution technique review may help defensive triage. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
The CVE wording references privilege impact, so privilege escalation and authorization behavior review may help. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-284 · source CWE mapping
Improper Access Control
Improper Access Control represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.
Authorization Bypass Through User-Controlled Key represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.
Improper Control of Dynamically-Identified Variables
Improper Control of Dynamically-Identified Variables represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.