{"id":"CVE-2026-105801","aliases":["EUVD-2026-93435","GHSA-5293-mq8x-g3xj","PYSEC-2026-4245"],"status":"published","title":"openapi-python-client: Malicious OpenAPI Documents can cause Arbitrary Code Generation","description":"openapi-python-client generates Python clients from OpenAPI documents. Prior to 0.29.1, the generator does not safely neutralize malicious OpenAPI document content before rendering string, docstring, and f-string contexts in generated Python. The generated Python client can contain attacker-controlled Python that executes when a user imports the client, affecting the importing environment's integrity and potentially its confidentiality and availability. This issue is fixed in version 0.29.1.","severity":{"version":"4.0","score":8.4,"vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:H/VA:N/SC:H/SI:H/SA:H","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-12","score":0.00139,"percentile":0.03295,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-116","CWE-150","CWE-94"],"published":"2026-10-06T14:53:42Z","modified":"2026-10-28T02:31:07Z","fixes":[{"ecosystem":"PyPI","package":"openapi-python-client","fixed_in":["0.29.1"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"PyPI","package":"openapi-python-client","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.29.1"}]}]},{"source":"osv","ecosystem":"PyPI","package":"openapi-python-client","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.29.1"}]}],"versions":["0.1.0","0.1.0.dev0","0.1.1","0.1.2","0.10.0","0.10.1","0.10.2","0.10.3","0.10.4","0.10.5","0.10.6","0.10.7","0.10.8","0.11.0","0.11.1","0.11.2","0.11.3","0.11.4","0.11.5","0.11.6","0.12.1","0.12.2","0.12.3","0.13.0","0.13.1","0.13.2","0.13.3","0.13.4","0.14.0","0.14.1","0.15.0","0.15.1","0.15.2","0.16.0","0.16.1","0.17.0","0.17.1","0.17.2","0.17.3","0.18.0","0.19.0","0.19.1","0.2.0","0.2.1","0.20.0","0.21.0","0.21.1","0.21.2","0.21.3","0.21.4","0.21.5","0.21.6","0.21.7","0.22.0","0.23.0","0.23.1","0.24.0","0.24.1","0.24.2","0.24.3","0.25.0","0.25.1","0.25.2","0.25.3","0.26.0","0.26.1","0.26.2","0.27.0","0.27.1","0.28.0","0.28.1","0.28.2","0.28.3","0.28.4","0.29.0","0.3.0","0.4.0","0.4.0rc1","0.4.1","0.4.2","0.5.0","0.5.1","0.5.2","0.5.3","0.5.4","0.5.5","0.6.0","0.6.0a1","0.6.0a2","0.6.0a3","0.6.0a4","0.6.1","0.6.2","0.7.0","0.7.0rc0","0.7.0rc1","0.7.0rc2","0.7.0rc3","0.7.1","0.7.2","0.7.3","0.8.0","0.9.0","0.9.1","0.9.2"]},{"source":"osv","ecosystem":"PyPI","package":"openapi-python-client","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.29.1"}]}],"versions":["0.1.0","0.1.0.dev0","0.1.1","0.1.2","0.10.0","0.10.1","0.10.2","0.10.3","0.10.4","0.10.5","0.10.6","0.10.7","0.10.8","0.11.0","0.11.1","0.11.2","0.11.3","0.11.4","0.11.5","0.11.6","0.12.1","0.12.2","0.12.3","0.13.0","0.13.1","0.13.2","0.13.3","0.13.4","0.14.0","0.14.1","0.15.0","0.15.1","0.15.2","0.16.0","0.16.1","0.17.0","0.17.1","0.17.2","0.17.3","0.18.0","0.19.0","0.19.1","0.2.0","0.2.1","0.20.0","0.21.0","0.21.1","0.21.2","0.21.3","0.21.4","0.21.5","0.21.6","0.21.7","0.22.0","0.23.0","0.23.1","0.24.0","0.24.1","0.24.2","0.24.3","0.25.0","0.25.1","0.25.2","0.25.3","0.26.0","0.26.1","0.26.2","0.27.0","0.27.1","0.28.0","0.28.1","0.28.2","0.28.3","0.28.4","0.29.0","0.3.0","0.4.0","0.4.0rc1","0.4.1","0.4.2","0.5.0","0.5.1","0.5.2","0.5.3","0.5.4","0.5.5","0.6.0","0.6.0a1","0.6.0a2","0.6.0a3","0.6.0a4","0.6.1","0.6.2","0.7.0","0.7.0rc0","0.7.0rc1","0.7.0rc2","0.7.0rc3","0.7.1","0.7.2","0.7.3","0.8.0","0.9.0","0.9.1","0.9.2"]}],"products":[{"vendor":"openapi-generators","product":"openapi-python-client"},{"vendor":"triaxtec","product":"openapi-python-client"}],"references":[{"url":"https://github.com/openapi-generators/openapi-python-client/security/advisories/GHSA-5293-mq8x-g3xj","tags":["x_refsource_CONFIRM","advisory","web"]},{"url":"https://github.com/openapi-generators/openapi-python-client/pull/1483","tags":["x_refsource_MISC","fix","web"]},{"url":"https://github.com/openapi-generators/openapi-python-client/commit/1c99af478892e5bbe6583b92acba431c9dec9186","tags":["x_refsource_MISC","fix","web"]},{"url":"https://github.com/openapi-generators/openapi-python-client/releases/tag/v0.29.1","tags":["x_refsource_MISC","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-105801","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-5293-mq8x-g3xj","tags":["advisory"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/105xxx/CVE-2026-105801.json","tags":["advisory"]},{"url":"https://github.com/openapi-generators/openapi-python-client","tags":["package"]},{"url":"https://pypi.org/project/openapi-python-client","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2026-105801","title":"openapi-python-client: Malicious OpenAPI Documents can cause Arbitrary Code Generation","description":"openapi-python-client generates Python clients from OpenAPI documents. Prior to 0.29.1, the generator does not safely neutralize malicious OpenAPI document content before rendering string, docstring, and f-string contexts in generated Python. The generated Python client can contain attacker-controlled Python that executes when a user imports the client, affecting the importing environment's integrity and potentially its confidentiality and availability. This issue is fixed in version 0.29.1.","status":"published","published":"2026-10-06T14:53:42.461Z","modified":"2026-10-09T01:06:15.915Z","cvss":[{"version":"4.0","score":8.4,"vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:H/VA:N/SC:H/SI:H/SA:H","level":"high","assessor":"cna"}],"cwes":["CWE-94","CWE-116","CWE-150"],"updated_at":"2026-11-02T14:19:57.100857Z"}],"euvd":[{"id":"EUVD-2026-93435","description":"openapi-python-client generates Python clients from OpenAPI documents. Prior to 0.29.1, the generator does not safely neutralize malicious OpenAPI document content before rendering string, docstring, and f-string contexts in generated Python. The generated Python client can contain attacker-controlled Python that executes when a user imports the client, affecting the importing environment's integrity and potentially its confidentiality and availability. This issue is fixed in version 0.29.1.","status":"published","published":"2026-10-06T14:53:42Z","modified":"2026-10-09T01:06:15Z","cvss":[{"version":"4.0","score":8.4,"vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:H/VA:N/SC:H/SI:H/SA:H","level":"high"}],"updated_at":"2026-11-02T17:27:25.942984Z"}],"ghsa":[{"id":"GHSA-5293-mq8x-g3xj","title":"openapi-python-client: Malicious OpenAPI Documents can cause Arbitrary Code Generation","description":"### Impact\nA malicious OpenAPI document processed by any `openapi-python-client` prior to 0.29.1 can generate arbitrary Python code. When anyone imports the malicious client, that arbitrary Python code will execute.\n\n### Patches\nVersions starting with 0.29.1 have updated with guardrails to prevent arbitrary code generation. Upgrade to this version immediately and audit any code previously generated from untrusted documents.\n\n### Workarounds\nDo not generate clients for documents you don't completely trust. Carefully verify any existing generated code from untrusted documents.","status":"published","published":"2026-10-06T15:32:53Z","modified":"2026-10-06T15:32:54Z","cvss":[{"version":"4.0","score":8.4,"vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:H/VA:N/SC:H/SI:H/SA:H","level":"high"}],"cwes":["CWE-94","CWE-116","CWE-150"],"updated_at":"2026-11-02T14:41:27.036917Z"}],"nvd":[{"id":"CVE-2026-105801","description":"openapi-python-client generates Python clients from OpenAPI documents. Prior to 0.29.1, the generator does not safely neutralize malicious OpenAPI document content before rendering string, docstring, and f-string contexts in generated Python. The generated Python client can contain attacker-controlled Python that executes when a user imports the client, affecting the importing environment's integrity and potentially its confidentiality and availability. This issue is fixed in version 0.29.1.","status":"published","published":"2026-10-06T15:17:17.32Z","modified":"2026-10-09T02:16:55.107Z","cvss":[{"version":"4.0","score":8.4,"vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:H/VA:N/SC:H/SI:H/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","level":"high","assessor":"secondary"}],"cwes":["CWE-94","CWE-116","CWE-150"],"updated_at":"2026-11-02T14:12:54.486849Z"}],"osv":[{"id":"CVE-2026-105801","title":"openapi-python-client: Malicious OpenAPI Documents can cause Arbitrary Code Generation","description":"openapi-python-client generates Python clients from OpenAPI documents. Prior to 0.29.1, the generator does not safely neutralize malicious OpenAPI document content before rendering string, docstring, and f-string contexts in generated Python. The generated Python client can contain attacker-controlled Python that executes when a user imports the client, affecting the importing environment's integrity and potentially its confidentiality and availability. This issue is fixed in version 0.29.1.","status":"published","published":"2026-10-06T14:53:42.461Z","modified":"2026-10-28T02:31:07.00082136Z","cvss":[{"version":"4.0","score":8.4,"vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:H/VA:N/SC:H/SI:H/SA:H","level":"high"}],"cwes":["CWE-116","CWE-150","CWE-94"],"updated_at":"2026-11-02T15:44:54.583213Z"},{"id":"GHSA-5293-mq8x-g3xj","title":"openapi-python-client: Malicious OpenAPI Documents can cause Arbitrary Code Generation","description":"### Impact\nA malicious OpenAPI document processed by any `openapi-python-client` prior to 0.29.1 can generate arbitrary Python code. When anyone imports the malicious client, that arbitrary Python code will execute.\n\n### Patches\nVersions starting with 0.29.1 have updated with guardrails to prevent arbitrary code generation. Upgrade to this version immediately and audit any code previously generated from untrusted documents.\n\n### Workarounds\nDo not generate clients for documents you don't completely trust. Carefully verify any existing generated code from untrusted documents.","status":"published","published":"2026-10-06T15:32:53Z","modified":"2026-10-15T14:55:35.768688332Z","cvss":[{"version":"4.0","score":8.4,"vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:H/VA:N/SC:H/SI:H/SA:H","level":"high"}],"cwes":["CWE-116","CWE-150","CWE-94"],"updated_at":"2026-11-02T15:46:37.864461Z"},{"id":"PYSEC-2026-4245","title":"openapi-python-client: Malicious OpenAPI Documents can cause Arbitrary Code Generation","description":"### Impact\nA malicious OpenAPI document processed by any `openapi-python-client` prior to 0.29.1 can generate arbitrary Python code. When anyone imports the malicious client, that arbitrary Python code will execute.\n\n### Patches\nVersions starting with 0.29.1 have updated with guardrails to prevent arbitrary code generation. Upgrade to this version immediately and audit any code previously generated from untrusted documents.\n\n### Workarounds\nDo not generate clients for documents you don't completely trust. Carefully verify any existing generated code from untrusted documents.","status":"published","published":"2026-10-15T10:22:46.680255Z","modified":"2026-10-15T14:45:12.93867505Z","cvss":[{"version":"4.0","score":8.4,"vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:H/VA:N/SC:H/SI:H/SA:H","level":"high"}],"updated_at":"2026-11-02T15:52:57.671918Z"}]}}
