{"id":"CVE-2024-38558","revision":null,"records":[{"revision":"a6b1941b117b406c80c0777e0b233716","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2024-38558","aliases":[],"title":"net: openvswitch: fix overwriting ct original tuple for ICMPv6","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet: openvswitch: fix overwriting ct original tuple for ICMPv6\n\nOVS_PACKET_CMD_EXECUTE has 3 main attributes:\n - OVS_PACKET_ATTR_KEY - Packet metadata in a netlink format.\n - OVS_PACKET_ATTR_PACKET - Binary packet content.\n - OVS_PACKET_ATTR_ACTIONS - Actions to execute on the packet.\n\nOVS_PACKET_ATTR_KEY is parsed first to populate sw_flow_key structure\nwith the metadata like conntrack state, input port, recirculation id,\netc.  Then the packet itself gets parsed to populate the rest of the\nkeys from the packet headers.\n\nWhenever the packet parsing code starts parsing the ICMPv6 header, it\nfirst zeroes out fields in the key corresponding to Neighbor Discovery\ninformation even if it is not an ND packet.\n\nIt is an 'ipv6.nd' field.  However, the 'ipv6' is a union that shares\nthe space between 'nd' and 'ct_orig' that holds the original tuple\nconntrack metadata parsed from the OVS_PACKET_ATTR_KEY.\n\nND packets should not normally have conntrack state, so it's fine to\nshare the space, but normal ICMPv6 Echo packets or maybe other types of\nICMPv6 can have the state attached and it should not be overwritten.\n\nThe issue results in all but the last 4 bytes of the destination\naddress being wiped from the original conntrack tuple leading to\nincorrect packet matching and potentially executing wrong actions\nin case this packet recirculates within the datapath or goes back\nto userspace.\n\nND fields should not be accessed in non-ND packets, so not clearing\nthem should be fine.  Executing memset() only for actual ND packets to\navoid the issue.\n\nInitializing the whole thing before parsing is needed because ND packet\nmay not contain all the options.\n\nThe issue only affects the OVS_PACKET_CMD_EXECUTE path and doesn't\naffect packets entering OVS datapath from network interfaces, because\nin this case CT metadata is populated from skb after the packet is\nalready parsed.","state":0,"publishedAt":"2024-06-19T13:35:28.226+00:00","modifiedAt":"2026-10-15T00:43:22.499+00:00","affected":[{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"net/openvswitch/flow.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"9dd7f8907c3705dc7a7a375d1c6e30b06e6daffc\",\n                            \"lessThan\": \"6a51ac92bf35d34b4996d6eb67e2fe469f573b11\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"9dd7f8907c3705dc7a7a375d1c6e30b06e6daffc\",\n                            \"lessThan\": \"0b532f59437f688563e9c58bdc1436fefa46e3b5\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"9dd7f8907c3705dc7a7a375d1c6e30b06e6daffc\",\n                            \"lessThan\": \"5ab6aecbede080b44b8e34720ab72050bf1e6982\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"9dd7f8907c3705dc7a7a375d1c6e30b06e6daffc\",\n                            \"lessThan\": \"483eb70f441e2df66ade78aa7217e6e4caadfef3\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"9dd7f8907c3705dc7a7a375d1c6e30b06e6daffc\",\n                            \"lessThan\": \"9ec8b0ccadb908d92f7ee211a4eff05fd932f3f6\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"9dd7f8907c3705dc7a7a375d1c6e30b06e6daffc\",\n                            \"lessThan\": \"78741b4caae1e880368cb2f5110635f3ce45ecfd\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"9dd7f8907c3705dc7a7a375d1c6e30b06e6daffc\",\n                            \"lessThan\": \"431e9215576d7b728f3f53a704d237a520092120\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"9dd7f8907c3705dc7a7a375d1c6e30b06e6daffc\",\n                            \"lessThan\": \"d73fb8bddf89503c9fae7c42e50d44c89909aad6\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"9dd7f8907c3705dc7a7a375d1c6e30b06e6daffc\",\n                            \"lessThan\": \"7c988176b6c16c516474f6fceebe0f055af5eb56\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        }\n                    ]\n                }"},{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"affected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"net/openvswitch/flow.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"4.11\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \"0\",\n                            \"lessThan\": \"4.11\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"4.19.316\",\n                            \"lessThanOrEqual\": \"4.19.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.4.278\",\n                            \"lessThanOrEqual\": \"5.4.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.10.219\",\n                            \"lessThanOrEqual\": \"5.10.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.15.161\",\n                            \"lessThanOrEqual\": \"5.15.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.1.93\",\n                            \"lessThanOrEqual\": \"6.1.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.6.33\",\n                            \"lessThanOrEqual\": \"6.6.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.8.12\",\n                            \"lessThanOrEqual\": \"6.8.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.9.3\",\n                            \"lessThanOrEqual\": \"6.9.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.10\",\n                            \"lessThanOrEqual\": \"*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"original_commit_for_fix\"\n                        }\n                    ]\n                }"}],"metrics":[{"system":"CVSS 3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H","score":10,"severity":"CRITICAL"}],"references":["https://git.kernel.org/stable/c/6a51ac92bf35d34b4996d6eb67e2fe469f573b11","https://git.kernel.org/stable/c/0b532f59437f688563e9c58bdc1436fefa46e3b5","https://git.kernel.org/stable/c/5ab6aecbede080b44b8e34720ab72050bf1e6982","https://git.kernel.org/stable/c/483eb70f441e2df66ade78aa7217e6e4caadfef3","https://git.kernel.org/stable/c/9ec8b0ccadb908d92f7ee211a4eff05fd932f3f6","https://git.kernel.org/stable/c/78741b4caae1e880368cb2f5110635f3ce45ecfd","https://git.kernel.org/stable/c/431e9215576d7b728f3f53a704d237a520092120","https://git.kernel.org/stable/c/d73fb8bddf89503c9fae7c42e50d44c89909aad6","https://git.kernel.org/stable/c/7c988176b6c16c516474f6fceebe0f055af5eb56"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2024-38558","license":"CVE Program Terms of Use","key":"cve-program:CVE-2024-38558","identifiers":["CVE-2024-38558"]},"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-09T21:04:24.7578035+00:00","complete":true,"records":1773,"lastAttemptAt":"2026-11-09T21:04:24.7578035+00:00","lastSuccessAt":"2026-11-09T21:04:24.9268553+00:00","error":null,"lastVerifiedAt":"2026-11-09T21:04:24.9268558+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-24e6fde7b744113daefb8f6135035fb8a5c69c9617c9c0d40574a0376532ffd3-053f9ef31f64a58e1cca81479dcc447749281d31bad8cf441e11bc47a86a0a95","complete":true,"records":421662,"lastAttemptAt":"2026-11-09T21:02:16.6599285+00:00","lastSuccessAt":"2026-11-09T21:02:16.5514646+00:00","error":null,"lastVerifiedAt":"2026-11-09T21:02:16.6599285+00:00","snapshotPublishedAt":"2026-11-09T20:28:50+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-b320c13bd6cb4ce898ab3d5e5a1317d3","complete":false,"records":13661,"lastAttemptAt":"2026-11-09T21:05:08.3988005+00:00","lastSuccessAt":"2026-11-09T21:05:07.1086717+00:00","error":null,"lastVerifiedAt":"2026-11-09T21:05:07.1086717+00:00","snapshotPublishedAt":null,"importing":true,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"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-09T21:04:24.7578035+00:00","complete":true,"records":1096,"lastAttemptAt":"2026-11-09T21:04:24.7578035+00:00","lastSuccessAt":"2026-11-09T21:04:28.0976125+00:00","error":null,"lastVerifiedAt":"2026-11-09T21:04:28.0976126+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-0bbee8bbb4ab420e9cc5a178c14c3d7c","complete":false,"records":13673,"lastAttemptAt":"2026-11-09T21:04:53.6647083+00:00","lastSuccessAt":"2026-11-09T21:04:53.656+00:00","error":null,"lastVerifiedAt":"2026-11-09T21:04:53.656+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":13704,"expectedIdentifiers":13714,"failedIdentifiers":0},{"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-f3867a42f9521b26d30bf45a82113d9245ec430c8ce8e24ac384524aacc94234","complete":true,"records":9916,"lastAttemptAt":"2026-11-09T21:04:24.6555906+00:00","lastSuccessAt":"2026-11-09T21:04:24.2243141+00:00","error":null,"lastVerifiedAt":"2026-11-09T21:04:24.6555906+00:00","snapshotPublishedAt":"2026-11-09T21:03:14+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-09T21:02:20.5882227+00:00","lastSuccessAt":"2026-11-09T21:02:20.472473+00:00","error":null,"lastVerifiedAt":"2026-11-09T21:02:20.5882227+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-761ecc9061239b0da572dc9254c6f384c1d19339eb08408c436647a2f26129e9","complete":true,"records":3064,"lastAttemptAt":"2026-11-09T21:04:24.720759+00:00","lastSuccessAt":"2026-11-09T17:05:03.4044794+00:00","error":null,"lastVerifiedAt":"2026-11-09T21:04:24.720759+00:00","snapshotPublishedAt":"2026-11-09T16:33:20+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-2e8b7295933e7bde85a0f6f5814c210f0d64871f05755388951863da683dd321","complete":true,"records":231324,"lastAttemptAt":"2026-11-09T21:04:14.5816688+00:00","lastSuccessAt":"2026-11-09T21:04:13.103121+00:00","error":null,"lastVerifiedAt":"2026-11-09T21:04:14.5816688+00:00","snapshotPublishedAt":"2026-11-09T20:48:07+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null}]}