{"id":"CVE-2026-124501","kind":"vulnerability","aliases":["CVE-2026-124501"],"related":[],"title":"moto: AWS Batch emulation flaw allows improper privilege management","description":"A weakness has been identified in Tidelift moto up to 5.2.4. Affected is an unknown function of the file moto/batch/models.py of the component AWS Batch Emulation. This manipulation of the argument privileged/volumes causes improper privilege management. Remote exploitation of the attack is possible. The exploit has been made available to the public and could be used for attacks. The vendor was contacted early about this disclosure but did not respond in any way.","summary":"Moto is a Python library that mocks AWS services for tests. A flaw in its AWS Batch emulation lets a crafted privileged or volumes argument escalate privileges, and a public exploit exists.","severity":"high","cvss":7.5,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["aws-batch","moto","package","python","testing"],"not_affected_if":["batch-not-mocked","moto-above-5.2.4","moto-not-used"],"how_to_check":"- Run pip show moto, or look for moto in requirements.txt, pyproject.toml or poetry.lock, and note the version (reported affected: up to 5.2.4).\n- Check whether your tests use the moto Batch mock (mock_batch / mock_aws with Batch) and pass privileged or volumes values taken from untrusted input.\n- Also check any shared or CI server that exposes moto in server mode on a network.","fix":null,"status":"open","published_at":"2026-11-09T00:18:01+00:00","first_seen_at":"2026-11-09T00:23:39+00:00","triaged_at":"2026-11-09T00:25:07+00:00","updated_at":"2026-11-09T00:25:33+00:00","category":"package","confidence":0.4,"triage":{"at":"2026-11-09T00:25:07Z","model":"claude-haiku-5-5","output":{"fix":"unknown","reach":"network","title":"moto: AWS Batch emulation flaw allows improper privilege management","impact":"high","summary":"Moto is a Python library that mocks AWS services for tests. A flaw in its AWS Batch emulation lets a crafted privileged or volumes argument escalate privileges, and a public exploit exists.","audience":"developers","category":"package","nicknames":[],"who_cares":["python","moto","aws-batch","testing"],"confidence":0.5,"fix_status":"unknown","needs_auth":"unknown","worst_case":"attacker escalates privileges through crafted AWS Batch job definitions","analyst_note":"Confirm the fixed version and whether a public exploit is linked; check the NVD entry and the moto changelog for a release after 5.2.4.","how_to_check":"- Look for `moto` in `requirements.txt`, `pyproject.toml` or `Poetry.lock` and note the version.\n- Run `pip show moto` to see the installed version.\n- Check whether tests call the Batch mock with user-supplied `privileged` or `volumes` values.","plain_action":"","product_name":"","needs_analyst":true,"not_affected_if":["moto-not-used","batch-not-mocked","moto-above-5.2.4"],"who_is_affected":"Teams that use moto up to 5.2.4 to mock AWS Batch in tests or local tooling, especially where job definitions come from untrusted input. Projects that do not use moto's Batch emulation or that pin a newer version can skip it. The sources do not state the exact trigger conditions.","user_interaction":"unknown","product_ecosystem":"","needs_special_setup":"yes","severity_if_unknown":"high"},"cost_usd":0.000745,"input_tokens":4583,"output_tokens":574,"severity_before":"high"},"analyst_status":"done","analyst_note":"Confirm the fixed version and whether a public exploit is linked; check the NVD entry and the moto changelog for a release after 5.2.4.","search":"'-124501':12A,15A '-2026':11A,14A '5.2.4':65C 'affect':66C 'allow':6A 'argument':47B,85C 'attack':95C,112C 'avail':103C 'aw':2A,17B,30B,38B,78C 'aws-batch':16B 'batch':3A,18B,39B,79C 'caus':87C 'compon':77C 'contact':116C 'could':108C 'craft':43B 'cve':10A,13A 'disclosur':120C 'earli':117C 'emul':4A,40B,80C 'escal':48B 'exist':54B 'exploit':53B,92C,99C 'file':73C 'flaw':5A,35B 'function':70C 'identifi':59C 'improp':7A,88C 'let':41B 'librari':27B 'made':102C 'manag':9A,90C 'manipul':82C 'mock':29B 'moto':1A,19B,23B,62C 'moto/batch/models.py':74C 'packag':20B 'possibl':97C 'privileg':8A,44B,49B,89C 'privileged/volumes':86C 'public':52B,106C 'python':21B,26B 'remot':91C 'respond':124C 'servic':31B 'test':22B,33B 'tidelift':61C 'unknown':69C 'use':110C 'vendor':114C 'volum':46B 'way':127C 'weak':56C","nicknames":[],"mitigations":[],"who_affected":"Teams that use moto up to 5.2.4 to mock AWS Batch in tests or local tooling, especially where job definitions come from untrusted input. Projects that do not use moto's Batch emulation or that pin a newer version can skip it. The sources do not state the exact trigger conditions.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"none","audience":"developers","plain_action":null,"pkeys":[],"ptokens":[],"labels":["awsbatch","high","moto","package","python","testing"],"campaign_type":null,"search_a":"'-124501':12A,15A '-2026':11A,14A 'allow':6A 'aw':2A 'batch':3A 'cve':10A,13A 'emul':4A 'flaw':5A 'improp':7A 'manag':9A 'moto':1A 'privileg':8A","search_b":"'argument':47B 'aw':17B,30B,38B 'aws-batch':16B 'batch':18B,39B 'craft':43B 'emul':40B 'escal':48B 'exist':54B 'exploit':53B 'flaw':35B 'let':41B 'librari':27B 'mock':29B 'moto':19B,23B 'packag':20B 'privileg':44B,49B 'public':52B 'python':21B,26B 'servic':31B 'test':22B,33B 'volum':46B","search_c":"'5.2.4':65C 'affect':66C 'argument':85C 'attack':95C,112C 'avail':103C 'aw':78C 'batch':79C 'caus':87C 'compon':77C 'contact':116C 'could':108C 'disclosur':120C 'earli':117C 'emul':80C 'exploit':92C,99C 'file':73C 'function':70C 'identifi':59C 'improp':88C 'made':102C 'manag':90C 'manipul':82C 'moto':62C 'moto/batch/models.py':74C 'possibl':97C 'privileg':89C 'privileged/volumes':86C 'public':106C 'remot':91C 'respond':124C 'tidelift':61C 'unknown':69C 'use':110C 'vendor':114C 'way':127C 'weak':56C","cause_entry":null,"cause_path":null,"disclosures_checked_at":null,"first_public_at":"2026-11-09T00:18:01+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P/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","cvss_by":"cna@vuldb.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-124501","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-124501","severity":null,"published_at":"2026-11-09T00:18:01+00:00","modified_at":"2026-11-09T00:18:01+00:00","first_seen_at":"2026-11-09T00:23:39+00:00","fetched_at":"2026-11-09T00:23:39+00:00","note":null},{"source":"analyst","external_id":"CVE-2026-124501:2230","url":null,"severity":null,"published_at":"2026-11-09T00:25:33+00:00","modified_at":"2026-11-09T00:25:33+00:00","first_seen_at":"2026-11-09T00:25:33+00:00","fetched_at":"2026-11-09T00:25:33+00:00","note":"Could not confirm from primary sources: web-cli out of Exa credits, NVD page did not render via WebFetch. NVD description (via signal) says moto up to 5.2.4 affected, public exploit reported, vendor never responded. moto releases page lists 5.2.5 (27 Oct) with no release notes, so no confirmed fix; whether 5.2.5 fixes this is unknown. Exploit link not found, nothing verified. Settle by reading the NVD references for the exploit/issue link and the 5.2.5 diff of moto/batch/models.py."}],"documents":[],"disclosures":[],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}