CVE-2026-34444
Received Received - Intake
Attribute Filter Bypass in Lupa Enables Arbitrary Code Execution

Publication date: 2026-04-06

Last updated on: 2026-05-01

Assigner: GitHub, Inc.

Description
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.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-04-06
Last Modified
2026-05-01
Generated
2026-05-07
AI Q&A
2026-04-06
EPSS Evaluated
2026-05-05
NVD
EUVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
scoder lupa to 2.6 (inc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-284 The product does not restrict or incorrectly restricts access to a resource from an unauthorized actor.
CWE-639 The system's authorization functionality does not prevent one user from gaining access to another user's data or record by modifying the key value identifying the data.
Attack-Flow Graph
AI Powered Q&A
How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:

This vulnerability allows an attacker to bypass intended security restrictions and achieve arbitrary code execution within applications using the Lupa library. Such unauthorized code execution can lead to unauthorized access, modification, or disclosure of sensitive data.

Consequently, organizations using affected versions of Lupa may face increased risk of data breaches or loss of data integrity, which can impact compliance with standards and regulations like GDPR and HIPAA that require protection of personal and sensitive information.

Specifically, failure to prevent unauthorized code execution and data access could result in violations of access control and data protection requirements mandated by these regulations.


Can you explain this vulnerability to me?

CVE-2026-34444 is a security vulnerability in the Lupa Python library (version 2.6 and earlier) that integrates Lua or LuaJIT2 runtimes into CPython. The issue arises because the attribute_filter, which is intended to restrict access to sensitive Python attributes, is not consistently enforced when attributes are accessed through built-in functions like getattr and setattr.

While the attribute_filter blocks direct attribute access (e.g., obj.attr), it does not apply when attributes are accessed via getattr or setattr. This inconsistency allows an attacker who can execute Lua code to bypass these restrictions, access Python internals such as __class__, __mro__, and __subclasses__, and eventually locate functions like os.system to execute arbitrary system commands.

This leads to a sandbox escape and remote code execution (RCE) vulnerability, allowing attackers to break out of the intended security boundaries.


How can this vulnerability impact me? :

If your application relies on Lupa to safely execute untrusted Lua code and uses attribute_filter to restrict access to sensitive Python attributes, this vulnerability can allow an attacker to bypass those restrictions.

An attacker can exploit this flaw to execute arbitrary code on the host Python process, leading to full sandbox escape and remote code execution.

This can result in unauthorized system command execution, potentially compromising the entire system running the vulnerable application.


How can this vulnerability be detected on my network or system? Can you suggest some commands?

This vulnerability involves the Lupa Python library allowing bypass of attribute_filter via getattr and setattr, enabling arbitrary code execution. Detection involves checking if your system is running Lupa version 2.6 or earlier with attribute_filter enabled but without disabling access to Python builtins.

Since the vulnerability exploits Lua code execution to bypass attribute restrictions, detection can include monitoring for unusual Lua code execution or attempts to access Python internals via getattr or setattr.

Specific commands to detect exploitation attempts are not provided in the available resources.


What immediate steps should I take to mitigate this vulnerability?

Immediate mitigation steps include disabling access to Python builtins from Lua code by setting register_builtins=False when using Lupa.

Avoid relying solely on attribute_filter to restrict attribute access, as it does not apply consistently to getattr and setattr.

Monitor for updates or patches from the Lupa project, as no patched versions are currently available.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart