tun: zero the whole vnet header in tun_put_user()
Summary
| CVE | CVE-2026-52940 |
| State | PUBLISHED |
| Assigner | Linux |
| Source Priority | CVE Program / NVD first with legacy fallback |
| Published | 2026-06-24 08:16:24 UTC |
| Updated | 2026-06-24 08:16:24 UTC |
| Description | In the Linux kernel, the following vulnerability has been resolved:
tun: zero the whole vnet header in tun_put_user()
tun_put_user() declares an on-stack struct virtio_net_hdr_v1_hash_tunnel
without zeroing it. For a non-tunnel skb, virtio_net_hdr_tnl_from_skb()
only initializes the first 10 bytes (sizeof(struct virtio_net_hdr)),
leaving bytes 10..23 (num_buffers and the hash/tunnel fields) as stack
garbage.
An unprivileged user can set the vnet header size to 24 with
TUNSETVNETHDRSZ, so __tun_vnet_hdr_put() copies all 24 bytes of the
partially-initialized struct to userspace, leaking 14 bytes of kernel
stack on every read of a non-tunnel packet.
Fix it the same way tun_get_user() already does by zeroing the whole
header right after declaration. |
Vendor Declared Affected Products
| Source | Vendor | Product | Version | Platforms |
|---|
| CNA |
Linux |
Linux |
affected 288f30435132d2f9e7a29ec9b9745a4f9dc7fd37 5fd1fa5a4254bfdd70571c77f5e3bcb4e43738d5 git |
Not specified |
| CNA |
Linux |
Linux |
affected 288f30435132d2f9e7a29ec9b9745a4f9dc7fd37 585cb85e9a29185be05f326369573c2663cf4380 git |
Not specified |
| CNA |
Linux |
Linux |
affected 288f30435132d2f9e7a29ec9b9745a4f9dc7fd37 7f2fcff15e99bb852f6967396ed12b38376e2c8d git |
Not specified |
| CNA |
Linux |
Linux |
affected 6.17 |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.17 semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.18.36 6.18.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 7.0.13 7.0.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 7.1 * original_commit_for_fix |
Not specified |
References
| Reference | Source | Link | Tags |
|---|
| git.kernel.org/stable/c/7f2fcff15e99bb852f6967396ed12b38376e2c8d |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/585cb85e9a29185be05f326369573c2663cf4380 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/5fd1fa5a4254bfdd70571c77f5e3bcb4e43738d5 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| CVE Program record |
CVE.ORG |
www.cve.org |
canonical |
| NVD vulnerability detail |
NVD |
nvd.nist.gov |
canonical, analysis |
No vendor comments have been submitted for this CVE.
There are currently no legacy QID mappings associated with this CVE.