{"id":"EM-20261030-38LG","url":"https://cyber.eventmonitor.net/incident/EM-20261030-38LG/","type":"cve","title":"Trail of Bits fickling Vulnerability (CVE-2026-118938)","subtitle":"CVE-2026-118938","subject":"CVE-2026-118938","status":"Developing","severity":"high","affected":[],"headline":null,"born":"2026-10-30T22:16:54.020Z","firstSignal":"2026-10-30T21:19:13.000Z","lastSignal":"2026-10-30T22:16:54.193Z","updated":"2026-11-04T14:43:58.877Z","revision":1,"life":[{"status":"Born","at":"2026-10-30T22:16:54.020Z","why":"second independent source: C6 NVD CVE API 2.0"},{"status":"Developing","at":"2026-10-30T22:16:54.020Z","why":"signals keep joining"}],"changeLog":[{"at":"2026-10-30T21:19:13.000Z","what":"First signal: C41 Red Hat Security Data"},{"at":"2026-10-30T22:16:54.020Z","what":"Born: second source, C6 NVD CVE API 2.0. Page EM-20261030-38LG created."}],"stages":[{"name":"Disclosed","at":"2026-10-30T22:16:54.020Z","detail":"C6 NVD published"},{"name":"Scored","at":"2026-10-30T22:16:54.020Z","detail":"CVSS 8.8 · EPSS 0.5%"},{"name":"Exploited","at":null,"detail":"No exploitation reported"},{"name":"Advisories","at":null,"detail":"None yet"},{"name":"Vendor Response","at":"2026-10-30T21:19:13.000Z","detail":"C41 published"},{"name":"Resolved","at":null,"detail":"After 14 quiet days"}],"signals":[{"at":"2026-10-30T21:19:13.000Z","source":"C41","sourceName":"Red Hat Security Data","role":"Vendor","severity":3,"title":"Red Hat: CVE-2026-118938 (important)","text":"fickling: fickling: Arbitrary code execution via safety analysis bypass for dotted attribute paths","url":"https://access.redhat.com/hydra/rest/securitydata/cve/CVE-2026-118938.json"},{"at":"2026-10-30T22:16:54.020Z","source":"C6","sourceName":"NVD CVE API 2.0","role":"Database","severity":3,"title":"CVE-2026-118938 (CVSS 8.8)","text":"In Trail of Bits fickling through 0.1.12, a pickle STACK_GLOBAL operand carrying a dotted __qualname__ (for example \"Values.read_file\") is resolved by pickle's find_class through _getattribute to an arbitrary attribute path rather than to a module-level function. Fickling records only the leading component of the name in its import tracking and renders the operation as a plain import (for instance, 'python -m fickling' displays it as 'from optparse import Values.read_file'), so the trailing attribute reference is never analyzed as a call. The OvertlyBadEvals analysis pass does not flag it, and","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-118938"},{"at":"2026-10-30T22:16:54.193Z","source":"C6","sourceName":"NVD CVE API 2.0","role":"Database","severity":3,"title":"CVE-2026-16760 (CVSS 8.8)","text":"In Trail of Bits fickling through 0.1.12, the _process_import() method in fickle.py adds an imported name to the likely_safe_imports set whenever the source module is present in sys.stdlib_module_names and the name is absent from the UNSAFE_IMPORTS denylist, without inspecting what the name resolves to or how it behaves. The OvertlyBadEvals analysis pass in analysis.py then unconditionally skips any call whose function name appears in likely_safe_imports, including calls that would otherwise be flagged as overtly dangerous. As a result, any callable reachable through a non-blocked standard lib","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-16760"}],"crowd":[],"reference":{"nvd":{"published":"2026-10-30T22:16:54.020","score":8.8,"severity":"HIGH","desc":"In Trail of Bits fickling through 0.1.12, a pickle STACK_GLOBAL operand carrying a dotted __qualname__ (for example \"Values.read_file\") is resolved by pickle's find_class through _getattribute to an arbitrary attribute path rather than to a module-level function. Fickling records only the leading co","product":"","seen":1793803438877},"kev":null,"epss":{"epss":0.00478,"pct":0.41374,"at":1793803438877},"p0":false},"mergedInto":null,"publisher":"Event Monitor Cyber"}