{"id":"CVE-2026-98322","state":"PUBLISHED","title":"netfilter: nft_nat: fully initialise new_addr in netmap setup","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nnetfilter: nft_nat: fully initialise new_addr in netmap setup\n\nnft_nat_setup_netmap() builds the mapped address in an on-stack\nunion nf_inet_addr. For an IPv4 mapping it writes only the 4-byte .ip\nmember and the loop runs a single 32-bit iteration, but it then copies\nthe whole 16-byte union into range->min_addr and range->max_addr, so the\nupper 12 bytes reach nf_nat_setup_info() uninitialised.\n\nKMSAN reports an uninit-value in nf_nat_setup_info() reached from\nnft_nat_eval(). The IPv6 path fills all 16 bytes and is not affected.\n\nZero-initialise new_addr.","publishedAt":"2026-10-06T08:46:16.346Z","updatedAt":"2026-10-19T09:17:32.745Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"3ff7ddb1353da9b535e65702704cbadea1da9a00","status":"affected","lessThan":"29365695842db0a97b701a43a09fad1b4f7ecf3e","versionType":"git"},{"version":"3ff7ddb1353da9b535e65702704cbadea1da9a00","status":"affected","lessThan":"7b9380c38c2fd2189416fa602bdbc5c8523b84b2","versionType":"git"},{"version":"3ff7ddb1353da9b535e65702704cbadea1da9a00","status":"affected","lessThan":"eb2030137dba3b59cbb5057a33af70488d6bc231","versionType":"git"},{"version":"3ff7ddb1353da9b535e65702704cbadea1da9a00","status":"affected","lessThan":"e4982c489ee359162eee3ece1fb36082648464a5","versionType":"git"},{"version":"3ff7ddb1353da9b535e65702704cbadea1da9a00","status":"affected","lessThan":"161f5860c92a8ec80b6bdff16e79d70dcd8afc5a","versionType":"git"},{"version":"3ff7ddb1353da9b535e65702704cbadea1da9a00","status":"affected","lessThan":"0ce42c7b84032335abff9eac43762e4ca8224451","versionType":"git"},{"version":"3ff7ddb1353da9b535e65702704cbadea1da9a00","status":"affected","lessThan":"1c43f5db482f74b41987c39c9c375a5e767556eb","versionType":"git"},{"version":"3ff7ddb1353da9b535e65702704cbadea1da9a00","status":"affected","lessThan":"d313499df66159b4b7971d760d16729598ab7e5a","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/netfilter/nft_nat.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.8","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.8","versionType":"semver"},{"version":"5.10.271","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.222","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.189","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.158","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.112","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.54","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.2.8","status":"unaffected","lessThanOrEqual":"7.2.*","versionType":"semver"},{"version":"7.3","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/netfilter/nft_nat.c"]}],"references":["https://git.kernel.org/stable/c/29365695842db0a97b701a43a09fad1b4f7ecf3e","https://git.kernel.org/stable/c/7b9380c38c2fd2189416fa602bdbc5c8523b84b2","https://git.kernel.org/stable/c/eb2030137dba3b59cbb5057a33af70488d6bc231","https://git.kernel.org/stable/c/e4982c489ee359162eee3ece1fb36082648464a5","https://git.kernel.org/stable/c/161f5860c92a8ec80b6bdff16e79d70dcd8afc5a","https://git.kernel.org/stable/c/0ce42c7b84032335abff9eac43762e4ca8224451","https://git.kernel.org/stable/c/1c43f5db482f74b41987c39c9c375a5e767556eb","https://git.kernel.org/stable/c/d313499df66159b4b7971d760d16729598ab7e5a"],"weaknesses":[],"ingestedAt":"2026-10-29T20:13:43.249Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/98xxx/CVE-2026-98322.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-98322","state":"PUBLISHED","datePublished":"2026-10-06T08:46:16.346Z","dateUpdated":"2026-10-19T09:17:32.745Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-09-25T10:25:14.340Z"},"containers":{"cna":{"title":"netfilter: nft_nat: fully initialise new_addr in netmap setup","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nnetfilter: nft_nat: fully initialise new_addr in netmap setup\n\nnft_nat_setup_netmap() builds the mapped address in an on-stack\nunion nf_inet_addr. For an IPv4 mapping it writes only the 4-byte .ip\nmember and the loop runs a single 32-bit iteration, but it then copies\nthe whole 16-byte union into range->min_addr and range->max_addr, so the\nupper 12 bytes reach nf_nat_setup_info() uninitialised.\n\nKMSAN reports an uninit-value in nf_nat_setup_info() reached from\nnft_nat_eval(). The IPv6 path fills all 16 bytes and is not affected.\n\nZero-initialise new_addr."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"3ff7ddb1353da9b535e65702704cbadea1da9a00","status":"affected","lessThan":"29365695842db0a97b701a43a09fad1b4f7ecf3e","versionType":"git"},{"version":"3ff7ddb1353da9b535e65702704cbadea1da9a00","status":"affected","lessThan":"7b9380c38c2fd2189416fa602bdbc5c8523b84b2","versionType":"git"},{"version":"3ff7ddb1353da9b535e65702704cbadea1da9a00","status":"affected","lessThan":"eb2030137dba3b59cbb5057a33af70488d6bc231","versionType":"git"},{"version":"3ff7ddb1353da9b535e65702704cbadea1da9a00","status":"affected","lessThan":"e4982c489ee359162eee3ece1fb36082648464a5","versionType":"git"},{"version":"3ff7ddb1353da9b535e65702704cbadea1da9a00","status":"affected","lessThan":"161f5860c92a8ec80b6bdff16e79d70dcd8afc5a","versionType":"git"},{"version":"3ff7ddb1353da9b535e65702704cbadea1da9a00","status":"affected","lessThan":"0ce42c7b84032335abff9eac43762e4ca8224451","versionType":"git"},{"version":"3ff7ddb1353da9b535e65702704cbadea1da9a00","status":"affected","lessThan":"1c43f5db482f74b41987c39c9c375a5e767556eb","versionType":"git"},{"version":"3ff7ddb1353da9b535e65702704cbadea1da9a00","status":"affected","lessThan":"d313499df66159b4b7971d760d16729598ab7e5a","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/netfilter/nft_nat.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.8","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.8","versionType":"semver"},{"version":"5.10.271","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.222","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.189","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.158","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.112","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.54","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.2.8","status":"unaffected","lessThanOrEqual":"7.2.*","versionType":"semver"},{"version":"7.3","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/netfilter/nft_nat.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/29365695842db0a97b701a43a09fad1b4f7ecf3e"},{"url":"https://git.kernel.org/stable/c/7b9380c38c2fd2189416fa602bdbc5c8523b84b2"},{"url":"https://git.kernel.org/stable/c/eb2030137dba3b59cbb5057a33af70488d6bc231"},{"url":"https://git.kernel.org/stable/c/e4982c489ee359162eee3ece1fb36082648464a5"},{"url":"https://git.kernel.org/stable/c/161f5860c92a8ec80b6bdff16e79d70dcd8afc5a"},{"url":"https://git.kernel.org/stable/c/0ce42c7b84032335abff9eac43762e4ca8224451"},{"url":"https://git.kernel.org/stable/c/1c43f5db482f74b41987c39c9c375a5e767556eb"},{"url":"https://git.kernel.org/stable/c/d313499df66159b4b7971d760d16729598ab7e5a"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-10-19T09:17:32.745Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.8","versionEndExcluding":"5.10.271"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.8","versionEndExcluding":"5.15.222"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.8","versionEndExcluding":"6.1.189"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.8","versionEndExcluding":"6.6.158"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.8","versionEndExcluding":"6.12.112"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.8","versionEndExcluding":"6.18.54"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.8","versionEndExcluding":"7.2.8"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.8","versionEndExcluding":"7.3"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}