{"id":"CVE-2026-23398","state":"PUBLISHED","title":"icmp: fix NULL pointer dereference in icmp_tag_validation()","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nicmp: fix NULL pointer dereference in icmp_tag_validation()\n\nicmp_tag_validation() unconditionally dereferences the result of\nrcu_dereference(inet_protos[proto]) without checking for NULL.\nThe inet_protos[] array is sparse -- only about 15 of 256 protocol\nnumbers have registered handlers. When ip_no_pmtu_disc is set to 3\n(hardened PMTU mode) and the kernel receives an ICMP Fragmentation\nNeeded error with a quoted inner IP header containing an unregistered\nprotocol number, the NULL dereference causes a kernel panic in\nsoftirq context.\n\n Oops: general protection fault, probably for non-canonical address 0xdffffc0000000002: 0000 [#1] SMP KASAN NOPTI\n KASAN: null-ptr-deref in range [0x0000000000000010-0x0000000000000017]\n RIP: 0010:icmp_unreach (net/ipv4/icmp.c:1085 net/ipv4/icmp.c:1143)\n Call Trace:\n  <IRQ>\n  icmp_rcv (net/ipv4/icmp.c:1527)\n  ip_protocol_deliver_rcu (net/ipv4/ip_input.c:207)\n  ip_local_deliver_finish (net/ipv4/ip_input.c:242)\n  ip_local_deliver (net/ipv4/ip_input.c:262)\n  ip_rcv (net/ipv4/ip_input.c:573)\n  __netif_receive_skb_one_core (net/core/dev.c:6164)\n  process_backlog (net/core/dev.c:6628)\n  handle_softirqs (kernel/softirq.c:561)\n  </IRQ>\n\nAdd a NULL check before accessing icmp_strict_tag_validation. If the\nprotocol has no registered handler, return false since it cannot\nperform strict tag validation.","publishedAt":"2026-03-26T10:22:50.606Z","updatedAt":"2026-10-15T01:14:50.052Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"8ed1dc44d3e9e8387a104b1ae8f92e9a3fbf1b1e","status":"affected","lessThan":"571d9d7b650f02d1e38c01128817868bceac9edd","versionType":"git"},{"version":"8ed1dc44d3e9e8387a104b1ae8f92e9a3fbf1b1e","status":"affected","lessThan":"d783fa413c702ff0f8f8bea63f862e28eeaf39e3","versionType":"git"},{"version":"8ed1dc44d3e9e8387a104b1ae8f92e9a3fbf1b1e","status":"affected","lessThan":"1f9f2c6d4b2a613b7756fc5679c5116ba2ca0161","versionType":"git"},{"version":"8ed1dc44d3e9e8387a104b1ae8f92e9a3fbf1b1e","status":"affected","lessThan":"b61529c357f1ee4d64836eb142a542d2e7ad67ce","versionType":"git"},{"version":"8ed1dc44d3e9e8387a104b1ae8f92e9a3fbf1b1e","status":"affected","lessThan":"9647e99d2a617c355d2b378be0ff6d0e848fd579","versionType":"git"},{"version":"8ed1dc44d3e9e8387a104b1ae8f92e9a3fbf1b1e","status":"affected","lessThan":"d938dd5a0ad780c891ea3bc94cae7405f11e618a","versionType":"git"},{"version":"8ed1dc44d3e9e8387a104b1ae8f92e9a3fbf1b1e","status":"affected","lessThan":"1e4e2f5e48cec0cccaea9815fb9486c084ba41e2","versionType":"git"},{"version":"8ed1dc44d3e9e8387a104b1ae8f92e9a3fbf1b1e","status":"affected","lessThan":"614aefe56af8e13331e50220c936fc0689cf5675","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/ipv4/icmp.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"3.14","status":"affected"},{"version":"0","status":"unaffected","lessThan":"3.14","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.167","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.130","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.78","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.20","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"6.19.10","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/ipv4/icmp.c"]}],"references":["https://git.kernel.org/stable/c/571d9d7b650f02d1e38c01128817868bceac9edd","https://git.kernel.org/stable/c/d783fa413c702ff0f8f8bea63f862e28eeaf39e3","https://git.kernel.org/stable/c/1f9f2c6d4b2a613b7756fc5679c5116ba2ca0161","https://git.kernel.org/stable/c/b61529c357f1ee4d64836eb142a542d2e7ad67ce","https://git.kernel.org/stable/c/9647e99d2a617c355d2b378be0ff6d0e848fd579","https://git.kernel.org/stable/c/d938dd5a0ad780c891ea3bc94cae7405f11e618a","https://git.kernel.org/stable/c/1e4e2f5e48cec0cccaea9815fb9486c084ba41e2","https://git.kernel.org/stable/c/614aefe56af8e13331e50220c936fc0689cf5675","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","https://cert-portal.siemens.com/productcert/html/ssa-784472.html"],"weaknesses":[],"ingestedAt":"2026-10-29T20:11:21.040Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/23xxx/CVE-2026-23398.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-23398","state":"PUBLISHED","datePublished":"2026-03-26T10:22:50.606Z","dateUpdated":"2026-10-15T01:14:50.052Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-01-13T15:37:46.012Z"},"containers":{"cna":{"title":"icmp: fix NULL pointer dereference in icmp_tag_validation()","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nicmp: fix NULL pointer dereference in icmp_tag_validation()\n\nicmp_tag_validation() unconditionally dereferences the result of\nrcu_dereference(inet_protos[proto]) without checking for NULL.\nThe inet_protos[] array is sparse -- only about 15 of 256 protocol\nnumbers have registered handlers. When ip_no_pmtu_disc is set to 3\n(hardened PMTU mode) and the kernel receives an ICMP Fragmentation\nNeeded error with a quoted inner IP header containing an unregistered\nprotocol number, the NULL dereference causes a kernel panic in\nsoftirq context.\n\n Oops: general protection fault, probably for non-canonical address 0xdffffc0000000002: 0000 [#1] SMP KASAN NOPTI\n KASAN: null-ptr-deref in range [0x0000000000000010-0x0000000000000017]\n RIP: 0010:icmp_unreach (net/ipv4/icmp.c:1085 net/ipv4/icmp.c:1143)\n Call Trace:\n  <IRQ>\n  icmp_rcv (net/ipv4/icmp.c:1527)\n  ip_protocol_deliver_rcu (net/ipv4/ip_input.c:207)\n  ip_local_deliver_finish (net/ipv4/ip_input.c:242)\n  ip_local_deliver (net/ipv4/ip_input.c:262)\n  ip_rcv (net/ipv4/ip_input.c:573)\n  __netif_receive_skb_one_core (net/core/dev.c:6164)\n  process_backlog (net/core/dev.c:6628)\n  handle_softirqs (kernel/softirq.c:561)\n  </IRQ>\n\nAdd a NULL check before accessing icmp_strict_tag_validation. If the\nprotocol has no registered handler, return false since it cannot\nperform strict tag validation."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"8ed1dc44d3e9e8387a104b1ae8f92e9a3fbf1b1e","status":"affected","lessThan":"571d9d7b650f02d1e38c01128817868bceac9edd","versionType":"git"},{"version":"8ed1dc44d3e9e8387a104b1ae8f92e9a3fbf1b1e","status":"affected","lessThan":"d783fa413c702ff0f8f8bea63f862e28eeaf39e3","versionType":"git"},{"version":"8ed1dc44d3e9e8387a104b1ae8f92e9a3fbf1b1e","status":"affected","lessThan":"1f9f2c6d4b2a613b7756fc5679c5116ba2ca0161","versionType":"git"},{"version":"8ed1dc44d3e9e8387a104b1ae8f92e9a3fbf1b1e","status":"affected","lessThan":"b61529c357f1ee4d64836eb142a542d2e7ad67ce","versionType":"git"},{"version":"8ed1dc44d3e9e8387a104b1ae8f92e9a3fbf1b1e","status":"affected","lessThan":"9647e99d2a617c355d2b378be0ff6d0e848fd579","versionType":"git"},{"version":"8ed1dc44d3e9e8387a104b1ae8f92e9a3fbf1b1e","status":"affected","lessThan":"d938dd5a0ad780c891ea3bc94cae7405f11e618a","versionType":"git"},{"version":"8ed1dc44d3e9e8387a104b1ae8f92e9a3fbf1b1e","status":"affected","lessThan":"1e4e2f5e48cec0cccaea9815fb9486c084ba41e2","versionType":"git"},{"version":"8ed1dc44d3e9e8387a104b1ae8f92e9a3fbf1b1e","status":"affected","lessThan":"614aefe56af8e13331e50220c936fc0689cf5675","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/ipv4/icmp.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"3.14","status":"affected"},{"version":"0","status":"unaffected","lessThan":"3.14","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.167","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.130","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.78","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.20","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"6.19.10","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/ipv4/icmp.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/571d9d7b650f02d1e38c01128817868bceac9edd"},{"url":"https://git.kernel.org/stable/c/d783fa413c702ff0f8f8bea63f862e28eeaf39e3"},{"url":"https://git.kernel.org/stable/c/1f9f2c6d4b2a613b7756fc5679c5116ba2ca0161"},{"url":"https://git.kernel.org/stable/c/b61529c357f1ee4d64836eb142a542d2e7ad67ce"},{"url":"https://git.kernel.org/stable/c/9647e99d2a617c355d2b378be0ff6d0e848fd579"},{"url":"https://git.kernel.org/stable/c/d938dd5a0ad780c891ea3bc94cae7405f11e618a"},{"url":"https://git.kernel.org/stable/c/1e4e2f5e48cec0cccaea9815fb9486c084ba41e2"},{"url":"https://git.kernel.org/stable/c/614aefe56af8e13331e50220c936fc0689cf5675"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-05-11T22:06:08.296Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.14","versionEndExcluding":"5.10.253"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.14","versionEndExcluding":"5.15.203"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.14","versionEndExcluding":"6.1.167"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.14","versionEndExcluding":"6.6.130"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.14","versionEndExcluding":"6.12.78"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.14","versionEndExcluding":"6.18.20"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.14","versionEndExcluding":"6.19.10"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.14","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":"SIMATIC S7-1500 TM MFP - GNU/Linux subsystem","defaultStatus":"unknown","versions":[{"version":"0","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"},{"url":"https://cert-portal.siemens.com/productcert/html/ssa-784472.html"}],"providerMetadata":{"shortName":"siemens-SADP","orgId":"0b142b55-0307-4c5a-b3c9-f314f3fb7c5e","dateUpdated":"2026-10-15T01:14:50.052Z"},"x_adpType":"supplier"}]}}}