---
id: CVE-2026-52937
title: 'tap: fix stack info leak in tap_ioctl() SIOCGIFHWADDR'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  tap: fix stack info leak in tap_ioctl() SIOCGIFHWADDR

  In the SIOCGIFHWADDR path, tap_ioctl() copies 16 bytes of an
  uninitialised on-stack struct sockaddr_storage to us…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 3b23a32a63219f51a5298bc55a65ecee866e79d0 <
    37d028a473b0826ad5970b52b791db4a29a23627
  - >-
    Linux >= 3b23a32a63219f51a5298bc55a65ecee866e79d0 <
    8197905d97099d8b1e3883112bbb497abd20f9f0
  - >-
    Linux >= 3b23a32a63219f51a5298bc55a65ecee866e79d0 <
    719007c3492f0f1f9e9cdbed8ac45ba45bb13eeb
  - >-
    Linux >= 3b23a32a63219f51a5298bc55a65ecee866e79d0 <
    05305e832be7b9d65b2b72caacf7d850b3942b2a
  - >-
    Linux >= 3b23a32a63219f51a5298bc55a65ecee866e79d0 <
    bddc09212c24934643bd44fc794748d2bbb3b6cd
  - Linux 176188cff67ec1aa55103647b61d02315cc38e98
  - Linux 1fc205d9e400f069ebf30d3faa6ec2bab2cbd7b4
  - Linux 4d0ae760c02c98fc78b78d3a0509896bc648ad1c
  - Linux >= 5.4.103 < 5.5
  - Linux >= 5.10.21 < 5.11
  - Linux >= 5.11.4 < 5.12
  - Linux 5.12
published: '2026-06-24'
updated: '2026-10-21'
sourceUpdated: '2026-10-21T12:41:39.695Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-52937'
references:
  - url: 'https://git.kernel.org/stable/c/37d028a473b0826ad5970b52b791db4a29a23627'
  - url: 'https://git.kernel.org/stable/c/8197905d97099d8b1e3883112bbb497abd20f9f0'
  - url: 'https://git.kernel.org/stable/c/719007c3492f0f1f9e9cdbed8ac45ba45bb13eeb'
  - url: 'https://git.kernel.org/stable/c/05305e832be7b9d65b2b72caacf7d850b3942b2a'
  - url: 'https://git.kernel.org/stable/c/bddc09212c24934643bd44fc794748d2bbb3b6cd'
tags:
  - cve.org
epss: 0.00112
epssPercentile: 0.0132
ingestedAt: '2026-10-21T12:48:53.626Z'
---

## Overview

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

tap: fix stack info leak in tap_ioctl() SIOCGIFHWADDR

In the SIOCGIFHWADDR path, tap_ioctl() copies 16 bytes of an
uninitialised on-stack struct sockaddr_storage to userspace via
ifr_hwaddr, but netif_get_mac_address() only writes sa_family and
dev->addr_len (6 for Ethernet) bytes, leaving sa_data[6..13] uninitialised.

Those 8 trailing bytes leak kernel stack contents; SIOCGIFHWADDR on a
macvtap chardev returns kernel .text and direct-map pointers, defeating
KASLR.

Initialise ss at declaration.

## Affected

- `Linux >= 3b23a32a63219f51a5298bc55a65ecee866e79d0 < 37d028a473b0826ad5970b52b791db4a29a23627`
- `Linux >= 3b23a32a63219f51a5298bc55a65ecee866e79d0 < 8197905d97099d8b1e3883112bbb497abd20f9f0`
- `Linux >= 3b23a32a63219f51a5298bc55a65ecee866e79d0 < 719007c3492f0f1f9e9cdbed8ac45ba45bb13eeb`
- `Linux >= 3b23a32a63219f51a5298bc55a65ecee866e79d0 < 05305e832be7b9d65b2b72caacf7d850b3942b2a`
- `Linux >= 3b23a32a63219f51a5298bc55a65ecee866e79d0 < bddc09212c24934643bd44fc794748d2bbb3b6cd`
- `Linux 176188cff67ec1aa55103647b61d02315cc38e98`
- `Linux 1fc205d9e400f069ebf30d3faa6ec2bab2cbd7b4`
- `Linux 4d0ae760c02c98fc78b78d3a0509896bc648ad1c`
- `Linux >= 5.4.103 < 5.5`
- `Linux >= 5.10.21 < 5.11`
- `Linux >= 5.11.4 < 5.12`
- `Linux 5.12`

## Remediation

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