{"id":"CVE-2026-31515","state":"PUBLISHED","title":"af_key: validate families in pfkey_send_migrate()","description":"In the Linux kernel, the following vulnerability has been resolved:\n\naf_key: validate families in pfkey_send_migrate()\n\nsyzbot was able to trigger a crash in skb_put() [1]\n\nIssue is that pfkey_send_migrate() does not check old/new families,\nand that set_ipsecrequest() @family argument was truncated,\nthus possibly overfilling the skb.\n\nValidate families early, do not wait set_ipsecrequest().\n\n[1]\n\nskbuff: skb_over_panic: text:ffffffff8a752120 len:392 put:16 head:ffff88802a4ad040 data:ffff88802a4ad040 tail:0x188 end:0x180 dev:<NULL>\n kernel BUG at net/core/skbuff.c:214 !\nCall Trace:\n <TASK>\n  skb_over_panic net/core/skbuff.c:219 [inline]\n  skb_put+0x159/0x210 net/core/skbuff.c:2655\n  skb_put_zero include/linux/skbuff.h:2788 [inline]\n  set_ipsecrequest net/key/af_key.c:3532 [inline]\n  pfkey_send_migrate+0x1270/0x2e50 net/key/af_key.c:3636\n  km_migrate+0x155/0x260 net/xfrm/xfrm_state.c:2848\n  xfrm_migrate+0x2140/0x2450 net/xfrm/xfrm_policy.c:4705\n  xfrm_do_migrate+0x8ff/0xaa0 net/xfrm/xfrm_user.c:3150","publishedAt":"2026-04-22T13:54:32.194Z","updatedAt":"2026-10-15T01:16:49.668Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"08de61beab8a21c8e0b3906a97defda5f1f66ece","status":"affected","lessThan":"d0c5aa8dd38887714f1aad04236a3620b56a5e4e","versionType":"git"},{"version":"08de61beab8a21c8e0b3906a97defda5f1f66ece","status":"affected","lessThan":"e06b596fc4eb01936a2e5dccad17c946d660bab8","versionType":"git"},{"version":"08de61beab8a21c8e0b3906a97defda5f1f66ece","status":"affected","lessThan":"8ddf8de7e758f6888988467af9ffc8adf589fb16","versionType":"git"},{"version":"08de61beab8a21c8e0b3906a97defda5f1f66ece","status":"affected","lessThan":"d3225e6b9bd51ec177970a628fe4b11237ce87d5","versionType":"git"},{"version":"08de61beab8a21c8e0b3906a97defda5f1f66ece","status":"affected","lessThan":"7b18692c59afb8e5c364c8e3ac01e51dd6b52028","versionType":"git"},{"version":"08de61beab8a21c8e0b3906a97defda5f1f66ece","status":"affected","lessThan":"83f644ea92987c100b82d8481ae2230faeed3d34","versionType":"git"},{"version":"08de61beab8a21c8e0b3906a97defda5f1f66ece","status":"affected","lessThan":"ee836e820a40e2ca4da8af7310bff92d586772d4","versionType":"git"},{"version":"08de61beab8a21c8e0b3906a97defda5f1f66ece","status":"affected","lessThan":"eb2d16a7d599dc9d4df391b5e660df9949963786","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/key/af_key.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"2.6.21","status":"affected"},{"version":"0","status":"unaffected","lessThan":"2.6.21","versionType":"semver"},{"version":"5.10.253","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.203","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.168","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.131","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.80","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.21","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"6.19.11","status":"unaffected","lessThanOrEqual":"6.19.*","versionType":"semver"},{"version":"7.0","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/key/af_key.c"]}],"references":["https://git.kernel.org/stable/c/d0c5aa8dd38887714f1aad04236a3620b56a5e4e","https://git.kernel.org/stable/c/e06b596fc4eb01936a2e5dccad17c946d660bab8","https://git.kernel.org/stable/c/8ddf8de7e758f6888988467af9ffc8adf589fb16","https://git.kernel.org/stable/c/d3225e6b9bd51ec177970a628fe4b11237ce87d5","https://git.kernel.org/stable/c/7b18692c59afb8e5c364c8e3ac01e51dd6b52028","https://git.kernel.org/stable/c/83f644ea92987c100b82d8481ae2230faeed3d34","https://git.kernel.org/stable/c/ee836e820a40e2ca4da8af7310bff92d586772d4","https://git.kernel.org/stable/c/eb2d16a7d599dc9d4df391b5e660df9949963786","https://cert-portal.siemens.com/productcert/html/ssa-082556.html","https://cert-portal.siemens.com/productcert/html/ssa-019113.html","https://cert-portal.siemens.com/productcert/html/ssa-457936.html"],"weaknesses":[],"ingestedAt":"2026-10-29T20:11:40.391Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/31xxx/CVE-2026-31515.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-31515","state":"PUBLISHED","datePublished":"2026-04-22T13:54:32.194Z","dateUpdated":"2026-10-15T01:16:49.668Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-03-09T15:48:24.107Z"},"containers":{"cna":{"title":"af_key: validate families in pfkey_send_migrate()","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\naf_key: validate families in pfkey_send_migrate()\n\nsyzbot was able to trigger a crash in skb_put() [1]\n\nIssue is that pfkey_send_migrate() does not check old/new families,\nand that set_ipsecrequest() @family argument was truncated,\nthus possibly overfilling the skb.\n\nValidate families early, do not wait set_ipsecrequest().\n\n[1]\n\nskbuff: skb_over_panic: text:ffffffff8a752120 len:392 put:16 head:ffff88802a4ad040 data:ffff88802a4ad040 tail:0x188 end:0x180 dev:<NULL>\n kernel BUG at net/core/skbuff.c:214 !\nCall Trace:\n <TASK>\n  skb_over_panic net/core/skbuff.c:219 [inline]\n  skb_put+0x159/0x210 net/core/skbuff.c:2655\n  skb_put_zero include/linux/skbuff.h:2788 [inline]\n  set_ipsecrequest net/key/af_key.c:3532 [inline]\n  pfkey_send_migrate+0x1270/0x2e50 net/key/af_key.c:3636\n  km_migrate+0x155/0x260 net/xfrm/xfrm_state.c:2848\n  xfrm_migrate+0x2140/0x2450 net/xfrm/xfrm_policy.c:4705\n  xfrm_do_migrate+0x8ff/0xaa0 net/xfrm/xfrm_user.c:3150"}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"08de61beab8a21c8e0b3906a97defda5f1f66ece","status":"affected","lessThan":"d0c5aa8dd38887714f1aad04236a3620b56a5e4e","versionType":"git"},{"version":"08de61beab8a21c8e0b3906a97defda5f1f66ece","status":"affected","lessThan":"e06b596fc4eb01936a2e5dccad17c946d660bab8","versionType":"git"},{"version":"08de61beab8a21c8e0b3906a97defda5f1f66ece","status":"affected","lessThan":"8ddf8de7e758f6888988467af9ffc8adf589fb16","versionType":"git"},{"version":"08de61beab8a21c8e0b3906a97defda5f1f66ece","status":"affected","lessThan":"d3225e6b9bd51ec177970a628fe4b11237ce87d5","versionType":"git"},{"version":"08de61beab8a21c8e0b3906a97defda5f1f66ece","status":"affected","lessThan":"7b18692c59afb8e5c364c8e3ac01e51dd6b52028","versionType":"git"},{"version":"08de61beab8a21c8e0b3906a97defda5f1f66ece","status":"affected","lessThan":"83f644ea92987c100b82d8481ae2230faeed3d34","versionType":"git"},{"version":"08de61beab8a21c8e0b3906a97defda5f1f66ece","status":"affected","lessThan":"ee836e820a40e2ca4da8af7310bff92d586772d4","versionType":"git"},{"version":"08de61beab8a21c8e0b3906a97defda5f1f66ece","status":"affected","lessThan":"eb2d16a7d599dc9d4df391b5e660df9949963786","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/key/af_key.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"2.6.21","status":"affected"},{"version":"0","status":"unaffected","lessThan":"2.6.21","versionType":"semver"},{"version":"5.10.253","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.203","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.168","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.131","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.80","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.21","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"6.19.11","status":"unaffected","lessThanOrEqual":"6.19.*","versionType":"semver"},{"version":"7.0","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/key/af_key.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/d0c5aa8dd38887714f1aad04236a3620b56a5e4e"},{"url":"https://git.kernel.org/stable/c/e06b596fc4eb01936a2e5dccad17c946d660bab8"},{"url":"https://git.kernel.org/stable/c/8ddf8de7e758f6888988467af9ffc8adf589fb16"},{"url":"https://git.kernel.org/stable/c/d3225e6b9bd51ec177970a628fe4b11237ce87d5"},{"url":"https://git.kernel.org/stable/c/7b18692c59afb8e5c364c8e3ac01e51dd6b52028"},{"url":"https://git.kernel.org/stable/c/83f644ea92987c100b82d8481ae2230faeed3d34"},{"url":"https://git.kernel.org/stable/c/ee836e820a40e2ca4da8af7310bff92d586772d4"},{"url":"https://git.kernel.org/stable/c/eb2d16a7d599dc9d4df391b5e660df9949963786"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-05-11T22:10:17.324Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.21","versionEndExcluding":"5.10.253"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.21","versionEndExcluding":"5.15.203"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.21","versionEndExcluding":"6.1.168"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.21","versionEndExcluding":"6.6.131"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.21","versionEndExcluding":"6.12.80"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.21","versionEndExcluding":"6.18.21"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.21","versionEndExcluding":"6.19.11"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.21","versionEndExcluding":"7.0"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"affected":[{"vendor":"Siemens","product":"SIMATIC S7-1500 CPU 1518-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.6","status":"affected","lessThan":"*","versionType":"custom"}]},{"vendor":"Siemens","product":"SIMATIC S7-1500 CPU 1518-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.5","status":"affected","lessThan":"*","versionType":"custom"}]},{"vendor":"Siemens","product":"SIMATIC S7-1500 CPU 1518-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.7","status":"affected","lessThan":"*","versionType":"custom"}]},{"vendor":"Siemens","product":"SIMATIC S7-1500 CPU 1518-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.6","status":"affected","lessThan":"*","versionType":"custom"}]},{"vendor":"Siemens","product":"SIMATIC S7-1500 CPU 1518-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.5","status":"affected","lessThan":"*","versionType":"custom"}]},{"vendor":"Siemens","product":"SIMATIC S7-1500 CPU 1518-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.7","status":"affected","lessThan":"*","versionType":"custom"}]},{"vendor":"Siemens","product":"SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.6","status":"affected","lessThan":"*","versionType":"custom"}]},{"vendor":"Siemens","product":"SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.5","status":"affected","lessThan":"*","versionType":"custom"}]},{"vendor":"Siemens","product":"SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.7","status":"affected","lessThan":"*","versionType":"custom"}]},{"vendor":"Siemens","product":"SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.6","status":"affected","lessThan":"*","versionType":"custom"}]},{"vendor":"Siemens","product":"SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.5","status":"affected","lessThan":"*","versionType":"custom"}]},{"vendor":"Siemens","product":"SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.7","status":"affected","lessThan":"*","versionType":"custom"}]},{"vendor":"Siemens","product":"SIPLUS S7-1500 CPU 1518-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.6","status":"affected","lessThan":"*","versionType":"custom"}]},{"vendor":"Siemens","product":"SIPLUS S7-1500 CPU 1518-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.5","status":"affected","lessThan":"*","versionType":"custom"}]},{"vendor":"Siemens","product":"SIPLUS S7-1500 CPU 1518-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.7","status":"affected","lessThan":"*","versionType":"custom"}]}],"references":[{"url":"https://cert-portal.siemens.com/productcert/html/ssa-082556.html"},{"url":"https://cert-portal.siemens.com/productcert/html/ssa-019113.html"},{"url":"https://cert-portal.siemens.com/productcert/html/ssa-457936.html"}],"providerMetadata":{"shortName":"siemens-SADP","orgId":"0b142b55-0307-4c5a-b3c9-f314f3fb7c5e","dateUpdated":"2026-10-15T01:16:49.668Z"},"x_adpType":"supplier"}]}}}