{"id":"GHSA-875g-mfp6-g7f9","revision":null,"records":[{"revision":"0a2aefa10abd40a6a7d18edbb29d34aa","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2023-50711","aliases":[],"title":"`serde` deserialization for `FamStructWrapper` lacks bound checks that could potentially lead to out-of-bounds memory access","description":"vmm-sys-util is a collection of modules that provides helpers and utilities used by multiple rust-vmm components. Starting in version 0.5.0 and prior to version 0.12.0, an issue in the `FamStructWrapper::deserialize` implementation provided by the crate for `vmm_sys_util::fam::FamStructWrapper` can lead to out of bounds memory accesses. The deserialization does not check that the length stored in the header matches the flexible array length. Mismatch in the lengths might allow out of bounds memory access through Rust-safe methods. The issue was corrected in version 0.12.0 by inserting a check that verifies the lengths of compared flexible arrays are equal for any deserialized header and aborting deserialization otherwise. Moreover, the API was changed so that header length can only be modified through Rust-unsafe code. This ensures that users cannot trigger out-of-bounds memory access from Rust-safe code.","state":0,"publishedAt":"2024-01-02T20:02:28.225+00:00","modifiedAt":"2025-02-13T17:19:28.284+00:00","affected":[{"ecosystem":"Vendor product","name":"vmm-sys-util","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"vendor\": \"rust-vmm\",\n                    \"product\": \"vmm-sys-util\",\n                    \"versions\": [\n                        {\n                            \"version\": \">= 0.5.0, < 0.12.0\",\n                            \"status\": \"affected\"\n                        }\n                    ]\n                }"}],"metrics":[{"system":"CVSS 3.1","vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:L","score":5.7,"severity":"MEDIUM"}],"references":["https://github.com/rust-vmm/vmm-sys-util/security/advisories/GHSA-875g-mfp6-g7f9","https://github.com/rust-vmm/vmm-sys-util/commit/30172fca2a8e0a38667d934ee56682247e13f167","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/W5XMCLV2P3ANS3XN4NXZTV4PUNTLWUNJ/","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/YJI7D273R6G5RUC246KTI2YY3AXZKZMD/"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2023-50711","license":"CVE Program Terms of Use","key":"cve-program:CVE-2023-50711","identifiers":["CVE-2023-50711"]},"retained":false,"historicalAffected":[]},{"revision":"9233676157044637b262a79e14ca9b4b","observedAt":"2026-11-08T23:07:20.458+00:00","statement":{"source":"euvd","id":"EUVD-2024-0293","aliases":["CVE-2023-50711","GHSA-875g-mfp6-g7f9"],"title":"vmm-sys-util is a collection of modules that provides helpers and utilities used by multiple rust-vmm components. Starting in version 0.5.0 and prior to version 0.12.0, an issue in the `FamStructWrapper::deserialize` implementation provided…","description":"vmm-sys-util is a collection of modules that provides helpers and utilities used by multiple rust-vmm components. Starting in version 0.5.0 and prior to version 0.12.0, an issue in the `FamStructWrapper::deserialize` implementation provided by the crate for `vmm_sys_util::fam::FamStructWrapper` can lead to out of bounds memory accesses. The deserialization does not check that the length stored in the header matches the flexible array length. Mismatch in the lengths might allow out of bounds memory access through Rust-safe methods. The issue was corrected in version 0.12.0 by inserting a check that verifies the lengths of compared flexible arrays are equal for any deserialized header and aborting deserialization otherwise. Moreover, the API was changed so that header length can only be modified through Rust-unsafe code. This ensures that users cannot trigger out-of-bounds memory access from Rust-safe code.","state":0,"publishedAt":null,"modifiedAt":null,"affected":[],"metrics":[{"system":"EUVD CVSS 3.1","vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:L","score":5.7,"severity":null}],"references":["https://github.com/rust-vmm/vmm-sys-util/security/advisories/GHSA-875g-mfp6-g7f9","https://github.com/rust-vmm/vmm-sys-util/commit/30172fca2a8e0a38667d934ee56682247e13f167","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/W5XMCLV2P3ANS3XN4NXZTV4PUNTLWUNJ/","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/YJI7D273R6G5RUC246KTI2YY3AXZKZMD/"],"sourceUrl":"https://euvd.enisa.europa.eu/vulnerability/EUVD-2024-0293","license":"ENISA EUVD · source terms and attribution apply","enrichment":{"sourceStatus":null,"weaknesses":[],"productCriteria":[],"sourceDates":{"datePublished":"Jan 2, 2024, 8:02:28 PM","dateUpdated":"Feb 13, 2025, 5:19:28 PM"},"relatedAdvisories":[{"id":"SUSE-SU-2025:20071-1","title":"Security update for sevctl","vulnerabilityIds":["CVE-2023-50711"]},{"id":"SUSE-SU-2024:0250-1","title":"Security update for sevctl","vulnerabilityIds":["CVE-2023-50711"]},{"id":"SUSE-SU-2024:1984-1","title":"Security update for aws-nitro-enclaves-cli","vulnerabilityIds":["CVE-2023-50711"]},{"id":"openSUSE-SU-2024:13645-1","title":"virtiofsd-1.10.1-1.1 on GA media","vulnerabilityIds":["CVE-2023-50711"]},{"id":"SUSE-SU-2024:1966-1","title":"Security update for aws-nitro-enclaves-cli","vulnerabilityIds":["CVE-2023-50711"]},{"id":"openSUSE-SU-2024:13624-1","title":"sevctl-0.4.3-2.1 on GA media","vulnerabilityIds":["CVE-2023-50711"]},{"id":"openSUSE-SU-2024:13857-1","title":"aws-nitro-enclaves-binaryblobs-upstream-1.2.3~git11.d3d77e0-1.1 on GA media","vulnerabilityIds":["CVE-2023-50711"]},{"id":"msrc_CVE-2023-50711","title":"`serde` deserialization for `FamStructWrapper` lacks bound checks that could potentially lead to out-of-bounds memory access","vulnerabilityIds":["CVE-2023-50711"]}],"note":"EUVD source date text has no stated timezone and is retained without inventing a UTC instant. Related bulletin membership is not an alias, common cause or applicability claim. A missing vector with a zero score is treated as unrated. Complete vendor/product and underlying source evidence remains in the original JSON."},"key":"euvd:EUVD-2024-0293","identifiers":["EUVD-2024-0293","CVE-2023-50711","GHSA-875g-mfp6-g7f9"]},"retained":false,"historicalAffected":[]},{"revision":"a88b17d1b97f46d389f304d72dfe1053","observedAt":"2026-10-24T23:17:11.096+00:00","statement":{"source":"nvd","id":"CVE-2023-50711","aliases":[],"title":"vmm-sys-util is a collection of modules that provides helpers and utilities used by multiple rust-vmm components. Starting in version 0.5.0 and prior to version 0.12.0, an issue in the `FamStructWrapper::deserialize` implementation provided…","description":"vmm-sys-util is a collection of modules that provides helpers and utilities used by multiple rust-vmm components. Starting in version 0.5.0 and prior to version 0.12.0, an issue in the `FamStructWrapper::deserialize` implementation provided by the crate for `vmm_sys_util::fam::FamStructWrapper` can lead to out of bounds memory accesses. The deserialization does not check that the length stored in the header matches the flexible array length. Mismatch in the lengths might allow out of bounds memory access through Rust-safe methods. The issue was corrected in version 0.12.0 by inserting a check that verifies the lengths of compared flexible arrays are equal for any deserialized header and aborting deserialization otherwise. Moreover, the API was changed so that header length can only be modified through Rust-unsafe code. This ensures that users cannot trigger out-of-bounds memory access from Rust-safe code.","state":0,"publishedAt":"2024-01-02T20:15:10.25+00:00","modifiedAt":"2026-06-17T06:39:49.917+00:00","affected":[],"metrics":[{"system":"CVSS 3.1 · security-advisories@github.com · Secondary","vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:L","score":5.7,"severity":"MEDIUM"},{"system":"CVSS 3.1 · nvd@nist.gov · Primary","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","score":9.8,"severity":"CRITICAL"}],"references":["https://github.com/rust-vmm/vmm-sys-util/commit/30172fca2a8e0a38667d934ee56682247e13f167","https://github.com/rust-vmm/vmm-sys-util/security/advisories/GHSA-875g-mfp6-g7f9","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/W5XMCLV2P3ANS3XN4NXZTV4PUNTLWUNJ/","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/YJI7D273R6G5RUC246KTI2YY3AXZKZMD/"],"sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2023-50711","license":"NIST NVD usage terms; underlying source attribution retained","enrichment":{"sourceStatus":"Modified","weaknesses":["CWE-787"],"productCriteria":["cpe:2.3:a:rust-vmm:vmm-sys-util:*:*:*:*:*:rust:*:*"],"sourceDates":{"published":"2024-01-02T20:15:10.250","lastModified":"2026-06-17T06:39:49.917"},"relatedAdvisories":[],"note":"NVD analysis and CPE criteria are source context, not proof that a package or your environment is affected. Complete affected data, logical configurations and SSVC are retained in the original JSON."},"key":"nvd:CVE-2023-50711","identifiers":["CVE-2023-50711"]},"retained":false,"historicalAffected":[]},{"revision":"db66c55b7b8d45c6b14c33f69ea6b327","observedAt":"2026-10-24T13:19:54.901+00:00","statement":{"source":"osv","id":"GHSA-875g-mfp6-g7f9","aliases":["CVE-2023-50711","RUSTSEC-2024-0002"],"title":"`serde` deserialization for `FamStructWrapper` lacks bound checks that could potentially lead to out-of-bounds memory access","description":"### Impact\n\nAn issue was discovered in the FamStructWrapper::deserialize implementation provided by the crate for vmm_sys_util::fam::FamStructWrapper, which can lead to out of bounds memory accesses. The deserialization does not check that the length stored in the header matches the flexible array length. Mismatch in the lengths might allow out of bounds memory access through Rust-safe methods.\n\nImpacted versions: >= 0.5.0\n\n### Patches\n\nThe issue was corrected in version 0.12.0 by inserting a check that verifies the lengths of compared flexible arrays are equal for any deserialized header and aborting deserialization otherwise. Moreover, the API was changed so that header length can only be modified through Rust-unsafe code. This ensures that users cannot trigger out-of-bounds memory access from Rust-safe code.","state":0,"publishedAt":"2024-01-02T16:28:08+00:00","modifiedAt":"2026-09-10T03:50:04.8932915+00:00","affected":[{"ecosystem":"crates.io","name":"vmm-sys-util","ranges":[{"type":"SEMVER","events":[{"kind":"introduced","version":"0.5.0"},{"kind":"fixed","version":"0.12.0"}]}],"versions":[],"rawVersionEvidence":null}],"metrics":[{"system":"CVSS_V3","vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:L","score":null,"severity":null},{"system":"Publisher rating","vector":null,"score":null,"severity":"MODERATE"}],"references":["https://github.com/rust-vmm/vmm-sys-util/security/advisories/GHSA-875g-mfp6-g7f9","https://nvd.nist.gov/vuln/detail/CVE-2023-50711","https://github.com/rust-vmm/vmm-sys-util/commit/30172fca2a8e0a38667d934ee56682247e13f167","https://github.com/rust-vmm/vmm-sys-util","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/W5XMCLV2P3ANS3XN4NXZTV4PUNTLWUNJ","https://rustsec.org/advisories/RUSTSEC-2024-0002.html"],"sourceUrl":"https://github.com/advisories/GHSA-875g-mfp6-g7f9","license":"GitHub Advisory Database · CC-BY-4.0","key":"osv:GHSA-875g-mfp6-g7f9","identifiers":["GHSA-875g-mfp6-g7f9","CVE-2023-50711","RUSTSEC-2024-0002"]},"retained":false,"historicalAffected":[]},{"revision":"c9433d10d515462a89dd57c3987cab6d","observedAt":"2026-10-24T13:19:54.901+00:00","statement":{"source":"osv","id":"RUSTSEC-2024-0002","aliases":["CVE-2023-50711","GHSA-875g-mfp6-g7f9"],"title":"`serde` deserialization for `FamStructWrapper` lacks bound checks that could potentially lead to out-of-bounds memory access","description":"## Impact\n\nAn issue was discovered in the `FamStructWrapper::deserialize` implementation\nprovided by the crate for `vmm_sys_util::fam::FamStructWrapper`, which can lead\nto out of bounds memory accesses. The deserialization does not check that the\nlength stored in the header matches the flexible array length. Mismatch in the\nlengths might allow out of bounds memory access through Rust-safe methods.\n\nImpacted versions: >= 0.5.0\n\n## Patches\n\nThe issue was corrected in version 0.12.0 by inserting a check that verifies\nthe lengths of compared flexible arrays are equal for any deserialized header\nand aborting deserialization otherwise. Moreover, the API was changed so that\nheader length can only be modified through Rust-unsafe code. This ensures that\nusers cannot trigger out-of-bounds memory access from Rust-safe code.","state":0,"publishedAt":"2024-01-02T12:00:00+00:00","modifiedAt":"2026-10-12T18:00:06.810785+00:00","affected":[{"ecosystem":"crates.io","name":"vmm-sys-util","ranges":[{"type":"SEMVER","events":[{"kind":"introduced","version":"0.5.0"},{"kind":"fixed","version":"0.12.0"}]}],"versions":[],"rawVersionEvidence":null}],"metrics":[{"system":"CVSS_V3","vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:L","score":null,"severity":null}],"references":["https://crates.io/crates/vmm-sys-util","https://rustsec.org/advisories/RUSTSEC-2024-0002.html","https://github.com/rust-vmm/vmm-sys-util/commit/30172fca2a8e0a38667d934ee56682247e13f167"],"sourceUrl":"https://osv.dev/vulnerability/RUSTSEC-2024-0002","license":"OSV · upstream source license applies","key":"osv:RUSTSEC-2024-0002","identifiers":["RUSTSEC-2024-0002","CVE-2023-50711","GHSA-875g-mfp6-g7f9"]},"retained":false,"historicalAffected":[]}],"coverage":[{"source":"cisa-kev:global","scope":"Complete CISA KEV catalog; all vendors. Missing entries do not establish absence of exploitation.","generation":"2026-11-10T10:21:23.1769119+00:00","complete":true,"records":1773,"lastAttemptAt":"2026-11-10T10:21:23.1769119+00:00","lastSuccessAt":"2026-11-10T10:21:23.4268898+00:00","error":null,"lastVerifiedAt":"2026-11-10T10:21:23.4268987+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"cve-program","scope":"Official CVE Program baseline and cumulative hourly delta; all vendors, published and rejected records","generation":"cve-8859cf40d4337e24bd2f258cc7778fbad01bb24c79d057aaf34cf1dfc6f8917d-8bdcdeeb414e06ff50ed637d818ac25d52680d19f71fc0ebe3f4c4b3f836ed38","complete":true,"records":421927,"lastAttemptAt":"2026-11-10T10:21:22.8157744+00:00","lastSuccessAt":"2026-11-10T09:21:38.1064889+00:00","error":null,"lastVerifiedAt":"2026-11-10T10:21:22.8157744+00:00","snapshotPublishedAt":"2026-11-10T09:20:43+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"euvd","scope":"Rolling EUVD lookups of CVE aliases in current public OSV archives; 500 identifiers per refresh, rechecked after 48 hours. Not a global EUVD catalog. Successful not-found lookups count as checked; they do not imply withdrawal or safety. No reader inventory is sent.","generation":"enrichment-2e6a476534094233b48f2f0b6da5cf35","complete":true,"records":13689,"lastAttemptAt":"2026-11-10T10:21:50.2500014+00:00","lastSuccessAt":"2026-11-10T06:05:35.03+00:00","error":null,"lastVerifiedAt":"2026-11-10T06:05:35.03+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":13742,"expectedIdentifiers":13742,"failedIdentifiers":0},{"source":"first-epss:nuget","scope":"FIRST EPSS for explicit CVE aliases in the collected public NuGet archive. Not a global EPSS backfill.","generation":"2026-11-10T10:21:23.1769119+00:00","complete":true,"records":1096,"lastAttemptAt":"2026-11-10T10:21:23.1769119+00:00","lastSuccessAt":"2026-11-10T10:21:23.4276529+00:00","error":null,"lastVerifiedAt":"2026-11-10T10:21:23.4276532+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"nvd","scope":"Rolling NVD lookups of CVE aliases in current public OSV archives; 500 identifiers per refresh, rechecked after 48 hours. Not a global NVD catalog. Successful not-found lookups count as checked; they do not imply withdrawal or safety. No reader inventory is sent.","generation":"enrichment-b0b0499af228434598651aa5d221386e","complete":false,"records":13695,"lastAttemptAt":"2026-11-10T10:21:49.6403901+00:00","lastSuccessAt":"2026-11-10T10:21:49.637+00:00","error":"100 identifier lookups failed; latest failures include request timeout. Other identifiers were checked independently.","lastVerifiedAt":"2026-11-10T10:21:49.637+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":13642,"expectedIdentifiers":13742,"failedIdentifiers":100},{"source":"osv:Go","scope":"Complete OSV Go ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"go-cdffb4589856378aa42e8d1bd4a6c74e27a180d8160bf764c44715ef760f0a62","complete":true,"records":9932,"lastAttemptAt":"2026-11-10T10:21:23.1241572+00:00","lastSuccessAt":"2026-11-10T00:04:19.8260565+00:00","error":null,"lastVerifiedAt":"2026-11-10T10:21:23.1241572+00:00","snapshotPublishedAt":"2026-11-09T23:48:01+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"osv:NuGet","scope":"Complete OSV NuGet ecosystem archive, including GitHub Advisory Database records; NuGet version matching only","generation":"nuget-26503967ae4379db8f374089589d6e03fb15bd31f820c9e992aaf93840c2236c","complete":true,"records":1971,"lastAttemptAt":"2026-11-10T10:21:22.8858542+00:00","lastSuccessAt":"2026-11-09T21:02:20.472473+00:00","error":null,"lastVerifiedAt":"2026-11-10T10:21:22.8858542+00:00","snapshotPublishedAt":"2026-11-09T20:18:18+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"osv:crates.io","scope":"Complete OSV crates.io ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"crates.io-94169eec81ea3989aa551092397ff34ae53c104b4a6ce646e1524452e4ab2a39","complete":true,"records":3065,"lastAttemptAt":"2026-11-10T10:21:23.1397622+00:00","lastSuccessAt":"2026-11-10T08:04:45.5923716+00:00","error":null,"lastVerifiedAt":"2026-11-10T10:21:23.1397622+00:00","snapshotPublishedAt":"2026-11-10T06:48:01+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"osv:npm","scope":"Complete OSV npm ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"npm-4331051b0b2d4ccdbdca3aa196b0be3818a465064a4b18dde4cf39c2250eb490","complete":true,"records":231599,"lastAttemptAt":"2026-11-10T10:21:23.0142877+00:00","lastSuccessAt":"2026-11-10T08:04:37.1757322+00:00","error":null,"lastVerifiedAt":"2026-11-10T10:21:23.0142877+00:00","snapshotPublishedAt":"2026-11-10T07:33:02+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null}]}