{"answers":{"affected":"3 open source packages ship an affected version, including cortex-m-rt.","exploited":"There is no known exploitation of GHSA-xw5j-gv2g-mjm2 in the wild and no public exploit code.","fix":"Upgrade cortex-m-rt to 0.7.3 or later.","what":"GHSA-xw5j-gv2g-mjm2 is a vulnerability in cortex-m-rt, published on 13 Feb 2023."},"fix_prompt":"Check this codebase for GHSA-xw5j-gv2g-mjm2 and fix it if it is affected.\n\nWhat it is: GHSA-xw5j-gv2g-mjm2 is a vulnerability in cortex-m-rt, published on 13 Feb 2023. \nExploitation: There is no known exploitation of GHSA-xw5j-gv2g-mjm2 in the wild and no public exploit code.\n\nAffected packages and fixed versions:\n- cortex-m-rt (crates.io): affected from 0.7.0; fixed in 0.7.3\n- cortex-m-rt (crates.io): affected from 0.7.0; fixed in 0.7.3\n- cortex-m-rt (crates.io): affected from 0.7.1-0; fixed in 0.7.3\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/GHSA-xw5j-gv2g-mjm2/ (Markdown: https://insights.sbomify.com/GHSA-xw5j-gv2g-mjm2/index.md)","id":"GHSA-xw5j-gv2g-mjm2","markdown":"https://insights.sbomify.com/GHSA-xw5j-gv2g-mjm2/index.md","name":"GHSA-xw5j-gv2g-mjm2","record":{"aliases":["RUSTSEC-2023-0014"],"analysis":{"component_type":"library","fix_type":"upgrade","impacts":["other"],"network_reachable":"unknown","non_default_config":false,"product_category":"Rust embedded library","requires_auth":"none","summary":"A miscompilation in the cortex-m-rt crate causes stack alignment violations, leading to incorrect runtime behavior in embedded applications.","user_interaction":"not_required","vuln_class":"other"},"analysis_generated_by":"qwen3.8-flash-next","assigner":null,"cpe":[],"cvss":{"score":null,"severity":null,"source":null,"vector":null,"version":null},"cwes":[],"description":"Version 0.7.1 of the `cortex-m-rt` crate introduced a regression causing the stack to NOT be eight-byte aligned prior to calling `main` (or any other specified entrypoint), violating the [stack ABI of AAPCS32], the default ABI used by all Cortex-M targets. This regression is also present in version 0.7.2 of the `cortex-m-rt` crate.\n\nThis regression can cause certain compiler optimizations (which assume the eight-byte alignment) to produce incorrect behavior at runtime. This incorrect behavior has been [observed in real-world applications].\n\n**It is advised that ALL users of `v0.7.1` and `v0.7.2` of the `cortex-m-rt` crate update to the latest version (`v0.7.3`), AS SOON AS POSSIBLE.** Users of `v0.7.0` and prior versions of `cortex-m-rt` are not affected by this regression.\n\nIt will be necessary to rebuild all affected firmware binaries, and flash or deploy the new firmware binaries to affected devices.\n\n[stack ABI of AAPCS32]: https://github.com/ARM-software/abi-aa/blob/edd7460d87493fff124b8b5713acf71ffc06ee91/aapcs32/aapcs32.rst#6212stack-constraints-at-a-public-interface\n[observed in real-world applications]: https://github.com/peter9477/test2","ecosystems":["crates.io"],"exploits":{"exploitdb":null,"first_seen":null,"github_poc":null,"max_poc_stars":null,"metasploit":null,"nuclei":null,"refs":[],"tier":null},"has_fix":true,"headline":"Miscompilation in cortex-m-rt 0.7.1 and 0.7.2","id":"GHSA-xw5j-gv2g-mjm2","indexable":true,"kev":null,"kind":"advisory","links":{"ecosystem":"crates.io","product":null,"products":[],"type":"other","year":"2023"},"n_packages":3,"n_references":null,"packages":[{"ecosystem":"crates.io","fixed":["0.7.3"],"introduced":["0.7.0"],"last_affected":[],"package":"cortex-m-rt","purl":null,"source":"GHSA-xw5j-gv2g-mjm2"},{"ecosystem":"crates.io","fixed":["0.7.3"],"introduced":["0.7.0"],"last_affected":[],"package":"cortex-m-rt","purl":"pkg:cargo/cortex-m-rt","source":"GHSA-xw5j-gv2g-mjm2"},{"ecosystem":"crates.io","fixed":["0.7.3"],"introduced":["0.7.1-0"],"last_affected":[],"package":"cortex-m-rt","purl":"pkg:cargo/cortex-m-rt","source":"RUSTSEC-2023-0014"}],"products":null,"published":"2023-02-13","related":[],"sources":[{"class":"attribution","licence":"CC BY 4.0","name":"GitHub Advisory Database","prefix":"GHSA"},{"class":"open","licence":"CC0 1.0","name":"RustSec","prefix":"RUSTSEC"}],"ssvc":{"automatable":null,"exploitation":null,"technical_impact":null},"state":null,"updated":null,"vendors":null},"summary":"A miscompilation in the cortex-m-rt crate causes stack alignment violations, leading to incorrect runtime behavior in embedded applications.","url":"https://insights.sbomify.com/GHSA-xw5j-gv2g-mjm2/"}