{"id":"CVE-2026-99211","kind":"vulnerability","aliases":["CVE-2026-99211"],"related":[],"title":"Linux kernel: netlink socket filters can read uninitialized skb headroom","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nnetlink: reset skb headers before unicast and multicast filtering\n\nSocket filters can use SKF_NET_OFF and SKF_LL_OFF to read relative to\nan skb's network and MAC headers. Netlink producers may reserve\nheadroom without resetting those headers, allowing a receiving socket's\nfilter to read data before the initialized message.\n\nFor example, IWPM HELLO replies are allocated with dev_alloc_skb(),\nwhich reserves NET_SKB_PAD bytes. An unprivileged NETLINK_RDMA user can\nattach a classic socket filter and disclose this headroom through the\nlength of the delivered reply. The resets in netlink_dump() do not help\nbecause IWPM sends a separately allocated skb through netlink_unicast().\n\nReset both headers before running the receiver's filter in unicast and\nbroadcast delivery, as is already done for dump skbs. This also covers\nother netlink producers that reserve headroom without changing their\nallocation or message-building code.","summary":"In the Linux kernel, netlink messages can be delivered with their socket filter reading from reserved headroom before the message data. An unprivileged NETLINK_RDMA user attaching a classic socket filter can infer this headroom from the length of a delivered reply.","severity":"low","cvss":null,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["linux-kernel","netlink","rdma","runtime"],"not_affected_if":[],"how_to_check":null,"fix":null,"status":"open","published_at":"2026-10-28T11:17:42+00:00","first_seen_at":"2026-10-28T11:32:37+00:00","triaged_at":"2026-10-28T11:33:49+00:00","updated_at":"2026-10-28T11:33:49+00:00","category":"runtime","confidence":0.6,"triage":{"at":"2026-10-28T11:33:49Z","model":"claude-haiku-5-5","output":{"fix":"unknown","reach":"local","title":"Linux kernel: netlink socket filters can read uninitialized skb headroom","impact":"low","summary":"In the Linux kernel, netlink messages can be delivered with their socket filter reading from reserved headroom before the message data. An unprivileged NETLINK_RDMA user attaching a classic socket filter can infer this headroom from the length of a delivered reply.","category":"runtime","nicknames":[],"who_cares":["linux-kernel","netlink","rdma"],"confidence":0.6,"needs_auth":"yes","worst_case":"unprivileged user reads kernel skb headroom contents through filter","analyst_note":"Check the NVD entry and the upstream kernel stable commits for affected and fixed kernel versions and whether the NETLINK_RDMA path is enabled by default.","how_to_check":"unknown","needs_analyst":true,"not_affected_if":[],"who_is_affected":"unknown","user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"low"},"cost_usd":0.000539,"input_tokens":3555,"output_tokens":367,"severity_before":"unknown"},"analyst_status":null,"analyst_note":null,"search":"'-2026':12A,15A '-99211':13A,16A 'alloc':134C,137C,180C,218C 'allow':115C 'alreadi':201C 'also':207C 'attach':49B,151C 'broadcast':197C 'build':222C 'byte':144C 'chang':216C 'classic':51B,153C 'code':223C 'cover':208C 'cve':11A,14A 'data':43B,123C 'deliv':31B,63B,165C 'deliveri':198C 'dev':136C 'disclos':157C 'done':202C 'dump':171C,204C 'exampl':129C 'filter':5A,35B,53B,83C,85C,120C,155C,193C 'follow':70C 'header':78C,105C,114C,187C 'headroom':10A,39B,57B,110C,159C,214C 'hello':131C 'help':174C 'infer':55B 'initi':126C 'iwpm':130C,176C 'kernel':2A,19B,26B,68C 'length':60B,162C 'linux':1A,18B,25B,67C 'linux-kernel':17B 'll':93C 'mac':104C 'may':108C 'messag':28B,42B,127C,221C 'message-build':220C 'multicast':82C 'net':89C,141C 'netlink':3A,20B,27B,46B,75C,106C,147C,170C,183C,210C 'network':102C 'pad':143C 'produc':107C,211C 'rdma':21B,47B,148C 'read':7A,36B,96C,122C 'receiv':117C,191C 'relat':97C 'repli':64B,132C,166C 'reserv':38B,109C,140C,213C 'reset':76C,112C,168C,185C 'resolv':74C 'run':189C 'runtim':22B 'send':177C 'separ':179C 'skb':9A,77C,100C,138C,142C,181C 'skbs':205C 'skf':88C,92C 'socket':4A,34B,52B,84C,118C,154C 'unicast':80C,184C,195C 'uniniti':8A 'unprivileg':45B,146C 'use':87C 'user':48B,149C 'vulner':71C 'without':111C,215C","nicknames":[],"mitigations":[],"who_affected":null,"tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-28T11:17:42+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-99211","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-99211","severity":null,"published_at":"2026-10-28T11:17:42+00:00","modified_at":"2026-10-28T11:17:42+00:00","first_seen_at":"2026-10-28T11:32:37+00:00","fetched_at":"2026-10-28T11:32:37+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}