{"id":"GHSA-hhw4-xg65-fp2x","aliases":["RUSTSEC-2025-0068"],"status":"published","title":"serde_yml crate is unsound and unmaintained","description":"Using `serde_yml::ser::Serializer.emitter` can cause a segmentation fault, which is unsound.\n\nThe GitHub project for `serde_yml` was archived after unsoundness issues were raised.\n\nIf you rely on this crate, it is highly recommended switching to a maintained alternative.\n\n## Recommended alternatives\n\n- [`serde_norway`](https://crates.io/crates/serde_norway) - Maintained fork of `serde_yaml`, using `unsafe-libyaml-norway`\n- [`serde_yaml_ng`](https://crates.io/crates/serde_yaml_ng) - Maintained fork of `serde_yaml`, using unmaintained `unsafe-libyaml`\n\n## Incomplete pure Rust alternatives\n\nThese implementation do not rely on C `libyaml`.\n\n- [`serde_yaml2`](https://crates.io/crates/serde_yaml2)\n- [`yaml-peg`](https://crates.io/crates/yaml-peg)","severity":{"version":"4.0","score":6.9,"vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","level":"medium","from":"ghsa"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"cwes":["CWE-787"],"published":"2025-09-11T12:00:00Z","modified":"2025-10-28T06:29:25Z","affected":[{"source":"ghsa","ecosystem":"crates.io","package":"serde_yml","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"0.0.12"}]}]},{"source":"osv","ecosystem":"crates.io","package":"serde_yml","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"last_affected":"0.0.12"}]}]},{"source":"osv","ecosystem":"crates.io","package":"serde_yml","ranges":[{"type":"SEMVER","events":[{"introduced":"0.0.0-0"}]}]}],"references":[{"url":"https://github.com/rustsec/advisory-db/issues/2395","tags":["web","report"]},{"url":"https://rustsec.org/advisories/RUSTSEC-2025-0068.html","tags":["web","advisory"]},{"url":"https://github.com/advisories/GHSA-hhw4-xg65-fp2x"},{"url":"https://github.com/sebastienrousseau/serde_yml","tags":["package"]},{"url":"https://crates.io/crates/serde_yml","tags":["package"]}],"sources":{"ghsa":[{"id":"GHSA-hhw4-xg65-fp2x","title":"serde_yml crate is unsound and unmaintained","description":"Using `serde_yml::ser::Serializer.emitter` can cause a segmentation fault, which is unsound.\n\nThe GitHub project for `serde_yml` was archived after unsoundness issues were raised.\n\nIf you rely on this crate, it is highly recommended switching to a maintained alternative.\n\n## Recommended alternatives\n\n- [`serde_norway`](https://crates.io/crates/serde_norway) - Maintained fork of `serde_yaml`, using `unsafe-libyaml-norway`\n- [`serde_yaml_ng`](https://crates.io/crates/serde_yaml_ng) - Maintained fork of `serde_yaml`, using unmaintained `unsafe-libyaml`\n\n## Incomplete pure Rust alternatives\n\nThese implementation do not rely on C `libyaml`.\n\n- [`serde_yaml2`](https://crates.io/crates/serde_yaml2)\n- [`yaml-peg`](https://crates.io/crates/yaml-peg)","status":"published","published":"2025-09-15T13:58:35Z","modified":"2025-09-15T13:59:14Z","cvss":[{"version":"4.0","score":6.9,"vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","level":"medium"}],"cwes":["CWE-787"],"updated_at":"2026-11-02T14:38:58.107905Z"}],"osv":[{"id":"GHSA-hhw4-xg65-fp2x","title":"serde_yml crate is unsound and unmaintained","description":"Using `serde_yml::ser::Serializer.emitter` can cause a segmentation fault, which is unsound.\n\nThe GitHub project for `serde_yml` was archived after unsoundness issues were raised.\n\nIf you rely on this crate, it is highly recommended switching to a maintained alternative.\n\n## Recommended alternatives\n\n- [`serde_norway`](https://crates.io/crates/serde_norway) - Maintained fork of `serde_yaml`, using `unsafe-libyaml-norway`\n- [`serde_yaml_ng`](https://crates.io/crates/serde_yaml_ng) - Maintained fork of `serde_yaml`, using unmaintained `unsafe-libyaml`\n\n## Incomplete pure Rust alternatives\n\nThese implementation do not rely on C `libyaml`.\n\n- [`serde_yaml2`](https://crates.io/crates/serde_yaml2)\n- [`yaml-peg`](https://crates.io/crates/yaml-peg)","status":"published","published":"2025-09-15T13:58:35Z","modified":"2025-10-28T06:29:25.168149Z","cvss":[{"version":"4.0","score":6.9,"vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","level":"medium"}],"cwes":["CWE-787"],"updated_at":"2026-11-02T15:46:49.28217Z"},{"id":"RUSTSEC-2025-0068","title":"serde_yml crate is unsound and unmaintained","description":"Using `serde_yml::ser::Serializer.emitter` can cause a segmentation fault, which is unsound.\n\nThe GitHub project for `serde_yml` was archived after unsoundness issues were raised.\n\nIf you rely on this crate, it is highly recommended switching to a maintained alternative.\n\n## Recommended alternatives\n\n- [`serde_norway`](https://crates.io/crates/serde_norway) - Maintained fork of `serde_yaml`, using `unsafe-libyaml-norway`\n- [`serde_yaml_ng`](https://crates.io/crates/serde_yaml_ng) - Maintained fork of `serde_yaml`, using unmaintained `unsafe-libyaml`\n\n## Incomplete pure Rust alternatives\n\nThese implementation do not rely on C `libyaml`.\n\n- [`serde_yaml2`](https://crates.io/crates/serde_yaml2)\n- [`yaml-peg`](https://crates.io/crates/yaml-peg)","status":"published","published":"2025-09-11T12:00:00Z","modified":"2025-10-28T06:29:25.168149Z","updated_at":"2026-11-02T15:53:39.971022Z"}]}}
