---
id: CVE-2026-80738
title: |-
  In the Linux kernel, the following vulnerability has been resolved:

  bpf: Check sk_state before sk_protocol in bpf_tcp_*_syncookie

  bpf_tcp_gen_syncookie and bpf_tcp_check_syncookie accept a socket pointer
  'sk' with argument type ARG_PTR…
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  bpf: Check sk_state before sk_protocol in bpf_tcp_*_syncookie

  bpf_tcp_gen_syncookie and bpf_tcp_check_syncookie accept a socket pointer
  'sk' with argument type ARG_PTR…
severity: high
cvss: 7.3
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:L'
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 399040847084a69f345e0a52fd62f04654e0fce3 <
    22c2169770ad3b3595690e51caac875178cf496d
  - >-
    Linux >= 399040847084a69f345e0a52fd62f04654e0fce3 <
    23f682083aa3fbc0c49667818efd6979a8bc5ac2
  - >-
    Linux >= 399040847084a69f345e0a52fd62f04654e0fce3 <
    31a420a822ff92e2090bd5d65efe8e34e2d6d9b8
  - Linux 5.2
published: '2026-09-03'
updated: '2026-10-15'
sourceUpdated: '2026-10-15T11:17:52.053'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-80738'
references:
  - url: 'https://git.kernel.org/stable/c/22c2169770ad3b3595690e51caac875178cf496d'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/23f682083aa3fbc0c49667818efd6979a8bc5ac2'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/31a420a822ff92e2090bd5d65efe8e34e2d6d9b8'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
tags:
  - nvd
  - cve.org
epss: 0.00162
epssPercentile: 0.04974
ingestedAt: '2026-10-15T11:00:41.664Z'
---

## Overview

In the Linux kernel, the following vulnerability has been resolved:

bpf: Check sk_state before sk_protocol in bpf_tcp_*_syncookie

bpf_tcp_gen_syncookie and bpf_tcp_check_syncookie accept a socket pointer
'sk' with argument type ARG_PTR_TO_BTF_ID_SOCK_COMMON. However, they access
sk->sk_protocol without validating whether 'sk' represents a full socket.

Fix this issue by checking sk->sk_state != TCP_LISTEN before inspecting
sk->sk_protocol in both bpf_tcp_gen_syncookie and bpf_tcp_check_syncookie.
Since mini-sockets are never in the TCP_LISTEN state, the condition
short-circuits and prevents dereferencing fullsock-specific fields.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
