{ "dataType": "CVE_RECORD", "dataVersion": "5.2", "cveMetadata": { "cveId": "CVE-2026-43190", "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "state": "PUBLISHED", "assignerShortName": "Linux", "dateReserved": "2026-05-01T14:12:55.992Z", "datePublished": "2026-05-06T11:27:59.798Z", "dateUpdated": "2026-08-05T12:26:26.497Z" }, "containers": { "cna": { "providerMetadata": { "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "shortName": "Linux", "dateUpdated": "2026-08-05T12:26:26.497Z" }, "descriptions": [ { "lang": "en", "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnetfilter: xt_tcpmss: check remaining length before reading optlen\n\nQuoting reporter:\n In net/netfilter/xt_tcpmss.c (lines 53-68), the TCP option parser reads\n op[i+1] directly without validating the remaining option length.\n\n If the last byte of the option field is not EOL/NOP (0/1), the code attempts\n to index op[i+1]. In the case where i + 1 == optlen, this causes an\n out-of-bounds read, accessing memory past the optlen boundary\n (either reading beyond the stack buffer _opt or the\n following payload)." } ], "metrics": [ { "cvssV3_1": { "version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H", "baseScore": 8.2, "baseSeverity": "HIGH" }, "scenarios": [ { "lang": "en", "value": "AV:N - The vulnerable match runs in IPv4/IPv6 netfilter packet-processing hooks, so a remote peer can trigger it by sending a crafted TCP packet to or through a system with a tcpmss iptables/nftables-compatible rule installed.\nAC:L - The trigger is a deterministic TCP option layout where the final option byte is neither EOL nor NOP, causing op[i+1] to be read past the remaining option length. The attacker controls the packet contents and no race or external timing condition is required.\nPR:N - The packet sender does not need credentials or local privileges to reach the rule once it is present on a firewall/router/host. Installing rules requires CAP_NET_ADMIN, including via network namespaces, but that is not required for the remote-trigger scenario.\nUI:N - No victim user action is required; packet processing occurs automatically in the kernel receive/forward/output netfilter path.\nS:U - The impact remains within the kernel/network stack security authority on the affected system. There is no VM escape, IOMMU/DMA boundary crossing, or other scope-changing boundary involved.\nC:L - The bug is a bounded one-byte out-of-bounds read beyond the TCP options buffer, potentially into adjacent stack or skb data. Because it is only a single byte and is not a broad arbitrary read primitive, confidentiality impact is Low rather than High.\nI:N - The vulnerable operation only reads op[i+1] and uses it to advance the parser; it does not write to kernel memory or packet data. I found no control-flow or data-integrity primitive from this one-byte read.\nA:H - Malformed packets can repeatedly trigger the out-of-bounds read in softirq/netfilter packet processing. On instrumented or hardened kernels this can produce a KASAN/oops/panic, so availability impact is High under highest-defensible scoring." } ] } ], "affected": [ { "product": "Linux", "vendor": "Linux", "defaultStatus": "unaffected", "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "programFiles": [ "net/netfilter/xt_tcpmss.c" ], "versions": [ { "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2", "lessThan": "f895191dc32c53eaf443b6443fe40945b2f92287", "status": "affected", "versionType": "git" }, { "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2", "lessThan": "cd5beda7e0e32865e214f28034bb92c1cecff885", "status": "affected", "versionType": "git" }, { "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2", "lessThan": "eaedc0bc18be46fe7f58170e967959a932c4f824", "status": "affected", "versionType": "git" }, { "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2", "lessThan": "07a9b32eaae792ff7d0fcac14d8920c937c0a9c3", "status": "affected", "versionType": "git" }, { "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2", "lessThan": "8b300f726640c48c3edfe9c453334dd801f4b74e", "status": "affected", "versionType": "git" }, { "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2", "lessThan": "5e13d0a37666955b6cfddc0f73cb40ed645b8a05", "status": "affected", "versionType": "git" }, { "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2", "lessThan": "f6c412dcfd76b0516d51aa847d8f4c7b70381b09", "status": "affected", "versionType": "git" }, { "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2", "lessThan": "735ee8582da3d239eb0c7a53adca61b79fb228b3", "status": "affected", "versionType": "git" } ] }, { "product": "Linux", "vendor": "Linux", "defaultStatus": "affected", "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "programFiles": [ "net/netfilter/xt_tcpmss.c" ], "versions": [ { "version": "2.6.12", "status": "affected" }, { "version": "0", "lessThan": "2.6.12", "status": "unaffected", "versionType": "semver" }, { "version": "5.10.252", "lessThanOrEqual": "5.10.*", "status": "unaffected", "versionType": "semver" }, { "version": "5.15.202", "lessThanOrEqual": "5.15.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.1.165", "lessThanOrEqual": "6.1.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.6.128", "lessThanOrEqual": "6.6.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.12.75", "lessThanOrEqual": "6.12.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.18.16", "lessThanOrEqual": "6.18.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.19.6", "lessThanOrEqual": "6.19.*", "status": "unaffected", "versionType": "semver" }, { "version": "7.0", "lessThanOrEqual": "*", "status": "unaffected", "versionType": "original_commit_for_fix" } ] } ], "cpeApplicability": [ { "nodes": [ { "operator": "OR", "negate": false, "cpeMatch": [ { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "2.6.12", "versionEndExcluding": "5.10.252" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "2.6.12", "versionEndExcluding": "5.15.202" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "2.6.12", "versionEndExcluding": "6.1.165" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "2.6.12", "versionEndExcluding": "6.6.128" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "2.6.12", "versionEndExcluding": "6.12.75" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "2.6.12", "versionEndExcluding": "6.18.16" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "2.6.12", "versionEndExcluding": "6.19.6" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "2.6.12", "versionEndExcluding": "7.0" } ] } ] } ], "references": [ { "url": "https://git.kernel.org/stable/c/f895191dc32c53eaf443b6443fe40945b2f92287" }, { "url": "https://git.kernel.org/stable/c/cd5beda7e0e32865e214f28034bb92c1cecff885" }, { "url": "https://git.kernel.org/stable/c/eaedc0bc18be46fe7f58170e967959a932c4f824" }, { "url": "https://git.kernel.org/stable/c/07a9b32eaae792ff7d0fcac14d8920c937c0a9c3" }, { "url": "https://git.kernel.org/stable/c/8b300f726640c48c3edfe9c453334dd801f4b74e" }, { "url": "https://git.kernel.org/stable/c/5e13d0a37666955b6cfddc0f73cb40ed645b8a05" }, { "url": "https://git.kernel.org/stable/c/f6c412dcfd76b0516d51aa847d8f4c7b70381b09" }, { "url": "https://git.kernel.org/stable/c/735ee8582da3d239eb0c7a53adca61b79fb228b3" } ], "title": "netfilter: xt_tcpmss: check remaining length before reading optlen", "x_generator": { "engine": "bippy-1.2.0" } } } }