{"answers":{"affected":"2 open source packages ship an affected version, including asteval.","exploited":"There is no known exploitation of CVE-2026-102734 in the wild and no public exploit code.","fix":"Upgrade asteval to 1.0.9 or later.","what":"CVE-2026-102734 is a medium-severity code injection vulnerability in lmfit asteval, published on 13 Oct 2026. It can only be exploited from the same machine or local network, and only if a user opens a file or follows a link."},"fix_prompt":"Check this codebase for CVE-2026-102734 and fix it if it is affected.\n\nWhat it is: CVE-2026-102734 is a medium-severity code injection vulnerability in lmfit asteval, published on 13 Oct 2026. It can only be exploited from the same machine or local network, and only if a user opens a file or follows a link.\nExploitation: There is no known exploitation of CVE-2026-102734 in the wild and no public exploit code.\n\nAffected packages and fixed versions:\n- asteval (PyPI): affected all versions; fixed in 1.0.9\n- asteval (PyPI): affected all versions; fixed in 1.0.9\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2026-102734/ (Markdown: https://insights.sbomify.com/CVE-2026-102734/index.md)","id":"CVE-2026-102734","markdown":"https://insights.sbomify.com/CVE-2026-102734/index.md","name":"CVE-2026-102734","record":{"aliases":["DEBIAN-CVE-2026-102734","GHSA-9w56-46f6-3qhx","UBUNTU-CVE-2026-102734"],"analysis":{"component_type":"library","fix_type":"upgrade","impacts":["code_execution","data_read","denial_of_service"],"network_reachable":"adjacent_or_local","non_default_config":false,"product_category":"Python expression evaluator","requires_auth":"none","summary":"Attackers can escape the asteval sandbox to read/write arbitrary memory and execute code via numpy ctypes in the default interpreter.","user_interaction":"required","vuln_class":"code_injection"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[],"cvss":{"score":5.5,"severity":"medium","source":"cna","vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","version":"3.1"},"cwes":[{"id":"CWE-913","name":"Improper Control of Dynamically-Managed Code Resources"},{"id":"CWE-749","name":"Exposed Dangerous Method or Function"},{"id":"CWE-693","name":"Protection Mechanism Failure"}],"description":"asteval is a Python expression evaluator designed for restricted execution. Prior to 1.0.9, in asteval/astutils.py, the default Interpreter with numpy enabled exposes a ctypes type and permits from_address memory access. safe_getattr blocks the ctypes module but not reachable ctypes type objects, while attribute assignments use unfiltered setattr instead of safe_setattr. An attacker-controlled expression can derive an address with id, read memory through from_address, and write through an attribute assignment. The expression can read or corrupt arbitrary process memory, escape the intended sandbox, execute code, disclose secrets, or crash the host process. This issue is fixed in version 1.0.9.","ecosystems":["PyPI"],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"none_known"},"has_fix":false,"headline":"asteval sandbox escape: arbitrary native memory read/write via numpy ctypes in default asteval Interpreter","id":"CVE-2026-102734","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"PyPI","product":null,"products":[],"type":"code_injection","year":"2026"},"n_packages":2,"n_references":4,"next":{"headline":"AsyncHttpClient: Resumable download index store is created world-readable and follows a planted symlink","id":"CVE-2026-102740"},"packages":[{"ecosystem":"PyPI","fixed":["1.0.9"],"introduced":["0"],"last_affected":[],"package":"asteval","purl":null,"source":"GHSA-9w56-46f6-3qhx"},{"ecosystem":"PyPI","fixed":["1.0.9"],"introduced":["0"],"last_affected":[],"package":"asteval","purl":"pkg:pypi/asteval","source":"GHSA-9w56-46f6-3qhx"}],"prev":{"headline":"Apache Directory LDAP API: Denial of service via excessive memory allocation in BER decode","id":"CVE-2026-102731"},"products":["asteval"],"published":"2026-10-13","related":[],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CC BY 4.0","name":"GitHub Advisory Database","prefix":"GHSA"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"no","exploitation":"none","technical_impact":"partial"},"state":"PUBLISHED","updated":"2026-10-13","vendors":["lmfit"]},"summary":"Attackers can escape the asteval sandbox to read/write arbitrary memory and execute code via numpy ctypes in the default interpreter.","url":"https://insights.sbomify.com/CVE-2026-102734/"}