{"answers":{"affected":"3 open source packages ship an affected version, including libafl.","exploited":"There is no known exploitation of GHSA-f7qj-v3vp-4856 in the wild and no public exploit code.","fix":"Upgrade libafl to 0.11.2 or later.","what":"GHSA-f7qj-v3vp-4856 is a memory corruption vulnerability in libafl, published on 19 Dec 2024."},"fix_prompt":"Check this codebase for GHSA-f7qj-v3vp-4856 and fix it if it is affected.\n\nWhat it is: GHSA-f7qj-v3vp-4856 is a memory corruption vulnerability in libafl, published on 19 Dec 2024. \nExploitation: There is no known exploitation of GHSA-f7qj-v3vp-4856 in the wild and no public exploit code.\n\nAffected packages and fixed versions:\n- libafl (crates.io): affected all versions; fixed in 0.11.2\n- libafl (crates.io): affected all versions; fixed in 0.11.2\n- libafl (crates.io): affected from 0.0.0-0; fixed in 0.11.2\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-f7qj-v3vp-4856/ (Markdown: https://insights.sbomify.com/GHSA-f7qj-v3vp-4856/index.md)","id":"GHSA-f7qj-v3vp-4856","markdown":"https://insights.sbomify.com/GHSA-f7qj-v3vp-4856/index.md","name":"GHSA-f7qj-v3vp-4856","record":{"aliases":["RUSTSEC-2024-0424"],"analysis":{"component_type":"library","fix_type":"upgrade","impacts":["code_execution","denial_of_service"],"network_reachable":"unknown","non_default_config":false,"product_category":"Rust fuzzing library","requires_auth":"none","summary":"Unsound memory alignment in libafl can lead to memory corruption, potentially allowing code execution or crashes.","user_interaction":"not_required","vuln_class":"memory_corruption"},"analysis_generated_by":"qwen3.8-flash-next","assigner":null,"cpe":[],"cvss":{"score":null,"severity":null,"source":null,"vector":null,"version":null},"cwes":[],"description":"The library breaks the safety assumptions when using unsafe API `slice::from_raw_parts_mut`. The pointer passed to `from_raw_parts_mut` is misaligned by casting `u8` to `u16` raw pointer directly, which is unsound. The bug is patched by using `align_offset`, which could make sure the memory address is aligned to 2 bytes for `u16`.  \n\nThis was patched in 0.11.2 in the [commit](https://github.com/AFLplusplus/LibAFL/pull/1530/commits/5a60cb31ef587d71d09d534bba39bd3973c4b35d).","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":"libafl has unsound usages of `core::slice::from_raw_parts_mut`","id":"GHSA-f7qj-v3vp-4856","indexable":true,"kev":null,"kind":"advisory","links":{"ecosystem":"crates.io","product":null,"products":[],"type":"memory_corruption","year":"2024"},"n_packages":3,"n_references":null,"packages":[{"ecosystem":"crates.io","fixed":["0.11.2"],"introduced":["0"],"last_affected":[],"package":"libafl","purl":null,"source":"GHSA-f7qj-v3vp-4856"},{"ecosystem":"crates.io","fixed":["0.11.2"],"introduced":["0"],"last_affected":[],"package":"libafl","purl":"pkg:cargo/libafl","source":"GHSA-f7qj-v3vp-4856"},{"ecosystem":"crates.io","fixed":["0.11.2"],"introduced":["0.0.0-0"],"last_affected":[],"package":"libafl","purl":"pkg:cargo/libafl","source":"RUSTSEC-2024-0424"}],"products":null,"published":"2024-12-19","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":"Unsound memory alignment in libafl can lead to memory corruption, potentially allowing code execution or crashes.","url":"https://insights.sbomify.com/GHSA-f7qj-v3vp-4856/"}