Skip to content
Heist/ feed
Back to feed
High

Lupa has a Sandbox escape and RCE due to incomplete attribute_filter enforcement in getattr / setattr

Type: advisorySources: OSV

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.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-34444
Confirmed fixed CVEs
Not specified
Updated in this feed
2 Nov 2026, 16:35 UTC · Revision 1

Source evidence

Lupa has a Sandbox escape and RCE due to incomplete attribute_filter enforcement in getattr / setattr

core-osv · Original source

Published 6 Apr 2026, 15:30 UTC

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.

osv:CVE-2026-34444
Complete source record
{
  "id": "95219319d19c5e30215ce771e0bda0894e55f0e95234232a5ffa577cf494aebc",
  "url": "https://osv.dev/vulnerability/CVE-2026-34444",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Lupa has a Sandbox escape and RCE due to incomplete attribute_filter enforcement in getattr / setattr",
    "summary": "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.",
    "evidence": "osv:CVE-2026-34444",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-34444",
      "aliases": [
        "CVE-2026-34444",
        "GHSA-69v7-xpr6-6gjm",
        "PYSEC-2026-2613"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:H/SA:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/scoder/lupa",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "last_affected": "dd520d06ac8229fa8b584a3759887d61f0e6019b"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "last_affected": "2.6"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "cpe": "cpe:2.3:a:scoder:lupa:*:*:*:*:*:python:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "last_affected": "2.6"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "versions": [
            "lupa-2.6",
            "lupa-2.5",
            "lupa-2.4",
            "lupa-2.3",
            "lupa-2.2",
            "lupa-2.1-2",
            "lupa-2.1-1",
            "lupa-2.1",
            "lupa-2.0",
            "lupa-1.9",
            "lupa-1.8",
            "lupa-1.7",
            "lupa-1.6",
            "lupa-1.5",
            "lupa-1.4",
            "lupa-1.3",
            "lupa-1.2",
            "lupa-1.1",
            "lupa-1.0.1",
            "lupa-1.0",
            "lupa-1.0b1",
            "lupa-0.21",
            "lupa-0.20",
            "lupa-0.19",
            "lupa-0.18",
            "lupa-0.17",
            "lupa-0.16",
            "lupa-0.15",
            "lupa-0.14",
            "lupa-0.13.1",
            "lupa-0.13",
            "lupa-0.12",
            "lupa-0.10",
            "lupa-0.8",
            "lupa-0.7",
            "lupa-0.6",
            "lupa-0.5",
            "lupa-0.4",
            "lupa-0.3",
            "lupa-0.2"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-34444.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:21.053186975Z",
      "provider": "osv",
      "references": [
        "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-34444.json",
        "https://access.redhat.com/errata/RHSA-2026:22993",
        "https://access.redhat.com/security/cve/CVE-2026-34444",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/34xxx/CVE-2026-34444.json",
        "https://github.com/scoder/lupa/security/advisories/GHSA-69v7-xpr6-6gjm",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-34444",
        "https://bugzilla.redhat.com/show_bug.cgi?id=2455413"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-284",
          "CWE-639"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/34xxx/CVE-2026-34444.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-34444",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 487205,
  "published_at": "2026-04-06T15:30:30.525+00:00"
}