net: vlan: fix VLAN 0 refcount imbalance of toggling filtering during runtime
In the Linux kernel, the following vulnerability has been resolved: net: vlan: fix VLAN 0 refcount imbalance of toggling filtering during runtime Assuming the "rx-vlan-filter" feature is enabled on a net device, the 8021q module will automatically add or remove VLAN 0 when the net device is put administratively up or down, respectively. There are a couple of problems with the above scheme. The first problem is a memory leak that can happen if the "rx-vlan-filter" feature is disabled while the device is running: # ip link add bond1 up type bond mode 0 # ethtool -K bond1 rx-vlan-filter off # ip link del dev bond1 When the device is put administratively down the "rx-vlan-filter" feature is disabled, so the 8021q module will not remove VLAN 0 and the memory will be leaked [1]. Another problem that can happen is that the kernel can automatically delete VLAN 0 when the device is put administratively down despite not adding it when the device was put administratively up since during that time the "rx-vlan-filter" feature was disabled. null-ptr-unref or bug_on[2] will be triggered by unregister_vlan_dev() for refcount imbalance if toggling filtering during runtime: $ ip link add bond0 type bond mode 0 $ ip link add link bond0 name vlan0 type vlan id 0 protocol 802.1q $ ethtool -K bond0 rx-vlan-filter off $ ifconfig bond0 up $ ethtool -K bond0 rx-vlan-filter on $ ifconfig bond0 down $ ip link del vlan0 Root cause is as below: step1: add vlan0 for real_dev, such as bond, team. register_vlan_dev vlan_vid_add(real_dev,htons(ETH_P_8021Q),0) //refcnt=1 step2: disable vlan filter feature and enable real_dev step3: change filter from 0 to 1 vlan_device_event vlan_filter_push_vids ndo_vlan_rx_add_vid //No refcnt added to real_dev vlan0 step4: real_dev down vlan_device_event vlan_vid_del(dev, htons(ETH_P_8021Q), 0); //refcnt=0 vlan_info_rcu_free //free vlan0 step5: delete vlan0 unregister_vlan_dev BUG_ON(!vlan_info); //vlan_info is null Fix both problems by noting in the VLAN info whether VLAN 0 was automatically added upon NETDEV_UP and based on that decide whether it should be deleted upon NETDEV_DOWN, regardless of the state of the "rx-vlan-filter" feature. [1] unreferenced object 0xffff8880068e3100 (size 256): comm "ip", pid 384, jiffies 4296130254 hex dump (first 32 bytes): 00 20 30 0d 80 88 ff ff 00 00 00 00 00 00 00 00 . 0............. 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace (crc 81ce31fa): __kmalloc_cache_noprof+0x2b5/0x340 vlan_vid_add+0x434/0x940 vlan_device_event.cold+0x75/0xa8 notifier_call_chain+0xca/0x150 __dev_notify_flags+0xe3/0x250 rtnl_configure_link+0x193/0x260 rtnl_newlink_create+0x383/0x8e0 __rtnl_newlink+0x22c/0xa40 rtnl_newlink+0x627/0xb00 rtnetlink_rcv_msg+0x6fb/0xb70 netlink_rcv_skb+0x11f/0x350 netlink_unicast+0x426/0x710 netlink_sendmsg+0x75a/0xc20 __sock_sendmsg+0xc1/0x150 ____sys_sendmsg+0x5aa/0x7b0 ___sys_sendmsg+0xfc/0x180 [2] kernel BUG at net/8021q/vlan.c:99! Oops: invalid opcode: 0000 [#1] SMP KASAN PTI CPU: 0 UID: 0 PID: 382 Comm: ip Not tainted 6.16.0-rc3 #61 PREEMPT(voluntary) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.13.0-0-gf21b5a4aeb02-prebuilt.qemu.org 04/01/2014 RIP: 0010:unregister_vlan_dev (net/8021q/vlan.c:99 (discriminator 1)) RSP: 0018:ffff88810badf310 EFLAGS: 00010246 RAX: 0000000000000000 RBX: ffff88810da84000 RCX: ffffffffb47ceb9a RDX: dffffc0000000000 RSI: 0000000000000008 RDI: ffff88810e8b43c8 RBP: 0000000000000000 R08: 0000000000000000 R09: fffffbfff6cefe80 R10: ffffffffb677f407 R11: ffff88810badf3c0 R12: ffff88810e8b4000 R13: 0000000000000000 R14: ffff88810642a5c0 R15: 000000000000017e FS: 00007f1ff68c20c0(0000) GS:ffff888163a24000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f1ff5dad240 CR3: 0000000107e56000 CR4: 00000000000006f0 Call Trace: <TASK ---truncated---
- Yayın
- 28 Tem 2025
- Güncelleme
- 5 Ağu 2026
- EPSS
- %0,2 · 7. yüzdelik
- CWE
- —
Takip etmek için giriş yap · Takip ettiğin kayıt KEV’e girer, istismarı çıkar ya da güncellenirse bildirim alırsın.
Rapor araçları
Aksiyon skoru
22
İzleyin
Şimdilik düşük öncelik.
- CVSS
- 22 / 40 · 5.5 / 10
- CISA KEV
- 0 / 30 · Listede değil
- EPSS
- 0 / 30 · %0,2
CNA ile NVD puanı
- NVD
- 5,5
- CNA · Linux
- 7,8
- 2,3 puan fark
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Kaydı açan otoritenin puanı ile NVD’nin bağımsız puanı. İki puan arasındaki fark ciddiyetin tartışmalı olduğunu gösterir.
Etkilenen sistemler
| Üretici | Ürün | CPE |
|---|---|---|
| linux | linux kernel | cpe:2.3:o:linux:linux_kernel |
| debian | debian linux | cpe:2.3:o:debian:debian_linux |
Etkilenen sürümler
NVD sürüm aralıkları (katalogdaki ürünler için). Stack’ine sürümle eklersen eşleşme bunlarla yapılır.
- debian debian linux11.0
- linux linux kernel5.5 ve sonrası · 5.10.241 öncesi
- linux linux kernel5.11 ve sonrası · 5.15.190 öncesi
- linux linux kernel5.16 ve sonrası · 6.1.147 öncesi
- linux linux kernel2.6.36 ve sonrası · 5.4.297 öncesi
- linux linux kernel6.7 ve sonrası · 6.12.40 öncesi
- linux linux kernel6.13 ve sonrası · 6.15.8 öncesi
- linux linux kernel6.2 ve sonrası · 6.6.100 öncesi
- linux linux kernel6.16
Üreticinin bildirdiği sürümler
Kaydı açan otorite (Linux) tarafından bildirilen etkilenen sürüm aralıkları. NVD'nin CPE analizinden bağımsızdır ve genellikle ondan önce gelir.
Linux Linux
- 2.6.36etkilenir
- ad1afb00393915a51c21b1ae8704562bf036855f ve sonrası · ba48d3993af23753e1f1f01c8d592de9c7785f24 öncesietkilenir · git
- ad1afb00393915a51c21b1ae8704562bf036855f ve sonrası · 35142b3816832889e50164d993018ea5810955ae öncesietkilenir · git
- ad1afb00393915a51c21b1ae8704562bf036855f ve sonrası · 047b61a24d7c866c502aeeea482892969a68f216 öncesietkilenir · git
- ad1afb00393915a51c21b1ae8704562bf036855f ve sonrası · d43ef15bf4856c8c4c6c3572922331a5f06deb77 öncesietkilenir · git
- ad1afb00393915a51c21b1ae8704562bf036855f ve sonrası · bb515c41306454937464da055609b5fb0a27821b öncesietkilenir · git
- ad1afb00393915a51c21b1ae8704562bf036855f ve sonrası · 8984bcbd1edf5bee5be06ad771d157333b790c33 öncesietkilenir · git
- ad1afb00393915a51c21b1ae8704562bf036855f ve sonrası · 93715aa2d80e6c5cea1bb486321fc4585076928b öncesietkilenir · git
- ad1afb00393915a51c21b1ae8704562bf036855f ve sonrası · 579d4f9ca9a9a605184a9b162355f6ba131f678d öncesietkilenir · git
- 2.6.36 öncesietkilenmez · semver
Paket düzeyi etkilenme
OSV ve GitHub Advisory verisi: ekosistem, paket ve aralık. SBOM eşleşmesi bu tabloyu kullanır.
| Ekosistem | Paket | Etkilenen aralık | Düzeltme |
|---|---|---|---|
| AlmaLinux:10 | kernel | 6.12.0-211.7.1.el10_2 öncesi | 6.12.0-211.7.1.el10_2 |
| AlmaLinux:10 | kernel-64k | 6.12.0-211.7.1.el10_2 öncesi | 6.12.0-211.7.1.el10_2 |
| AlmaLinux:10 | kernel-64k-core | 6.12.0-211.7.1.el10_2 öncesi | 6.12.0-211.7.1.el10_2 |
| AlmaLinux:10 | kernel-64k-debug | 6.12.0-211.7.1.el10_2 öncesi | 6.12.0-211.7.1.el10_2 |
| AlmaLinux:10 | kernel-64k-debug-core | 6.12.0-211.7.1.el10_2 öncesi | 6.12.0-211.7.1.el10_2 |
| AlmaLinux:10 | kernel-64k-debug-devel | 6.12.0-211.7.1.el10_2 öncesi | 6.12.0-211.7.1.el10_2 |
| AlmaLinux:10 | kernel-64k-debug-devel-matched | 6.12.0-211.7.1.el10_2 öncesi | 6.12.0-211.7.1.el10_2 |
| AlmaLinux:10 | kernel-64k-debug-modules | 6.12.0-211.7.1.el10_2 öncesi | 6.12.0-211.7.1.el10_2 |
| AlmaLinux:10 | kernel-64k-debug-modules-core | 6.12.0-211.7.1.el10_2 öncesi | 6.12.0-211.7.1.el10_2 |
| AlmaLinux:10 | kernel-64k-debug-modules-extra | 6.12.0-211.7.1.el10_2 öncesi | 6.12.0-211.7.1.el10_2 |
| AlmaLinux:10 | kernel-64k-devel | 6.12.0-211.7.1.el10_2 öncesi | 6.12.0-211.7.1.el10_2 |
| AlmaLinux:10 | kernel-64k-devel-matched | 6.12.0-211.7.1.el10_2 öncesi | 6.12.0-211.7.1.el10_2 |
| AlmaLinux:10 | kernel-64k-modules | 6.12.0-211.7.1.el10_2 öncesi | 6.12.0-211.7.1.el10_2 |
| AlmaLinux:10 | kernel-64k-modules-core | 6.12.0-211.7.1.el10_2 öncesi | 6.12.0-211.7.1.el10_2 |
| AlmaLinux:10 | kernel-64k-modules-extra | 6.12.0-211.7.1.el10_2 öncesi | 6.12.0-211.7.1.el10_2 |
| AlmaLinux:10 | kernel-abi-stablelists | 6.12.0-211.7.1.el10_2 öncesi | 6.12.0-211.7.1.el10_2 |
| AlmaLinux:10 | kernel-core | 6.12.0-211.7.1.el10_2 öncesi | 6.12.0-211.7.1.el10_2 |
| AlmaLinux:10 | kernel-cross-headers | 6.12.0-211.7.1.el10_2 öncesi | 6.12.0-211.7.1.el10_2 |
| AlmaLinux:10 | kernel-debug | 6.12.0-211.7.1.el10_2 öncesi | 6.12.0-211.7.1.el10_2 |
| AlmaLinux:10 | kernel-debug-core | 6.12.0-211.7.1.el10_2 öncesi | 6.12.0-211.7.1.el10_2 |
| AlmaLinux:10 | kernel-debug-devel | 6.12.0-211.7.1.el10_2 öncesi | 6.12.0-211.7.1.el10_2 |
| AlmaLinux:10 | kernel-debug-devel-matched | 6.12.0-211.7.1.el10_2 öncesi | 6.12.0-211.7.1.el10_2 |
| AlmaLinux:10 | kernel-debug-modules | 6.12.0-211.7.1.el10_2 öncesi | 6.12.0-211.7.1.el10_2 |
| AlmaLinux:10 | kernel-debug-modules-core | 6.12.0-211.7.1.el10_2 öncesi | 6.12.0-211.7.1.el10_2 |
+96
Aynı üründe
linux: tüm kayıtlarAynı birincil ürünün en yüksek skorlu diğer kayıtları.
- CVE-2022-0847A flaw was found in the way the "flags" member of the new pipe buffer structure was lacking proper initialization in copy_page_to_iter_pipe KEV89Hemen
- CVE-2021-22555Heap Out-Of-Bounds Write in Netfilter IP6T_SO_SET_REPLACEKEV85Hemen
- CVE-2016-5195Race condition in mm/gup.c in the Linux kernel 2.x through 4.x before 4.8.3 allows local users to gain privileges by leveraging incorrect haKEV83Hemen
- CVE-2019-13272In the Linux kernel before 5.1.17, ptrace_link in kernel/ptrace.c mishandles the recording of the credentials of a process that wants to creKEV77Bu hafta
- CVE-2013-6282The (1) get_user and (2) put_user API functions in the Linux kernel before 3.5.5 on the v6k and v7 ARM platforms do not validate certain addKEV77Bu hafta
- CVE-2013-2094The perf_swevent_init function in kernel/events/core.c in the Linux kernel before 3.8.9 uses an incorrect integer data type, which allows loKEV77Bu hafta
Düzeltme
Hangi sürüme geçmeli
Üretici, paket deposu ve Microsoft kayıtlarından derlenen düzeltme sürümleri. Yükseltmeden önce üreticinin notunu doğrulayın.
| Ürün / paket | Düzeltilmiş sürüm | Kaynak |
|---|---|---|
| Linux Linux | 047b61a24d7c866c502aeeea482892969a68f216 | Üretici (CNA) |
| Linux Linux | 35142b3816832889e50164d993018ea5810955ae | Üretici (CNA) |
| Linux Linux | 579d4f9ca9a9a605184a9b162355f6ba131f678d | Üretici (CNA) |
| Linux Linux | 8984bcbd1edf5bee5be06ad771d157333b790c33 | Üretici (CNA) |
| Linux Linux | 93715aa2d80e6c5cea1bb486321fc4585076928b | Üretici (CNA) |
| Linux Linux | ba48d3993af23753e1f1f01c8d592de9c7785f24 | Üretici (CNA) |
| Linux Linux | bb515c41306454937464da055609b5fb0a27821b | Üretici (CNA) |
| Linux Linux | d43ef15bf4856c8c4c6c3572922331a5f06deb77 | Üretici (CNA) |
| azl3 kernel 6.6.96.2-2 on Azure Linux 3.0 | 6.6.104.2-1 · CBL-Mariner Releases | Microsoft (MSRC) |
| cbl2 kernel 5.15.186.1-1 on CBL Mariner 2.0 | 5.15.200.1-1 · CBL-Mariner Releases | Microsoft (MSRC) |
| almalinux:kernel | 6.12.0-211.7.1.el10_2 · AlmaLinux:10 | Paket deposu (OSV) |
| almalinux:kernel-64k | 6.12.0-211.7.1.el10_2 · AlmaLinux:10 | Paket deposu (OSV) |
| almalinux:kernel-64k-core | 6.12.0-211.7.1.el10_2 · AlmaLinux:10 | Paket deposu (OSV) |
| almalinux:kernel-64k-debug | 6.12.0-211.7.1.el10_2 · AlmaLinux:10 | Paket deposu (OSV) |
| almalinux:kernel-64k-debug-core | 6.12.0-211.7.1.el10_2 · AlmaLinux:10 | Paket deposu (OSV) |
| almalinux:kernel-64k-debug-devel | 6.12.0-211.7.1.el10_2 · AlmaLinux:10 | Paket deposu (OSV) |
| almalinux:kernel-64k-debug-devel-matched | 6.12.0-211.7.1.el10_2 · AlmaLinux:10 | Paket deposu (OSV) |
| almalinux:kernel-64k-debug-modules | 6.12.0-211.7.1.el10_2 · AlmaLinux:10 | Paket deposu (OSV) |
| almalinux:kernel-64k-debug-modules-core | 6.12.0-211.7.1.el10_2 · AlmaLinux:10 | Paket deposu (OSV) |
| almalinux:kernel-64k-debug-modules-extra | 6.12.0-211.7.1.el10_2 · AlmaLinux:10 | Paket deposu (OSV) |
| almalinux:kernel-64k-devel | 6.12.0-211.7.1.el10_2 · AlmaLinux:10 | Paket deposu (OSV) |
| almalinux:kernel-64k-devel-matched | 6.12.0-211.7.1.el10_2 · AlmaLinux:10 | Paket deposu (OSV) |
| debian:linux | 6.1.147-1 · Debian:12 | Paket deposu (OSV) |
| red hat:kernel-64k-debug-debuginfo | 0:6.12.0-211.7.1.el10_2 · Red Hat:enterprise_linux:10.2 | Paket deposu (OSV) |
| red hat:kernel-64k-debug-devel | 0:6.12.0-211.7.1.el10_2 · Red Hat:enterprise_linux:10.2 | Paket deposu (OSV) |
| red hat:kernel-64k-debug-devel-matched | 0:6.12.0-211.7.1.el10_2 · Red Hat:enterprise_linux:10.2 | Paket deposu (OSV) |
| red hat:kernel-64k-debuginfo | 0:6.12.0-211.7.1.el10_2 · Red Hat:enterprise_linux:10.2 | Paket deposu (OSV) |
| red hat:kernel-64k-devel | 0:6.12.0-211.7.1.el10_2 · Red Hat:enterprise_linux:10.2 | Paket deposu (OSV) |
| red hat:kernel-64k-devel-matched | 0:6.12.0-211.7.1.el10_2 · Red Hat:enterprise_linux:10.2 | Paket deposu (OSV) |
| red hat:kernel-debug-debuginfo | 0:6.12.0-211.7.1.el10_2 · Red Hat:enterprise_linux:10.2 | Paket deposu (OSV) |
+5
İstismar durumu
Bilinen kamuya açık istismar yok
Şu an kamuya açık bir istismar görülmedi. Bu, güvende olduğunuz anlamına gelmez; yalnızca eşiğin biraz daha yüksek olduğunu gösterir.
Araştırma bağlamı
Pentester ve araştırmacı için: saldırı profili, puan anlaşmazlığı, zaman çizelgesi, yama commit’leri, kredi, varyant ve zincir adayları, bug bounty kapsamı. Hepsi mevcut veriden türetilir; istismar kodu içermez.
Zaman çizelgesi
Yayından bugüne: kavram kanıtı, Metasploit modülü, CISA KEV ve düzeltme kaydı. Tarihler kaynakların bildirdiği tarihlerdir.
Yayın dışında tarihli olay yok.
FIRST EPSS günlük puanı; yalnızca 0,01 ve üstü değişimler kaydedilir (adım grafiği).
Yama ve commit bağlantıları
Referanslardaki commit, PR ve diff adresleri. Patch-diff ve varyant avı için başlangıç noktası; istismar değil, düzeltmedir.
Referanslarda commit ya da PR bağlantısı yok.
Kredi
Tüm araştırmacılarCNA kaydında adı geçen bulan, bildiren ve analistler. Ada tıkla, aynı araştırmacının diğer kayıtlarını gör.
CNA kaydında kredi yok.
Varyant adayları
Aynı üründe aynı zafiyet sınıfı, 18 ay içinde. Yama kök nedeni kapatmadıysa kardeş hata burada olur.
Gece hesaplanan ilişki yok.
Zincir adayları
Aynı üründe kimlik doğrulama atlatma ile yetki isteyen bir açık kısa aralıkla yayımlanmış: birlikte kimlik doğrulamasız bir yola dönüşebilir.
—
Bug bounty kapsamı
Bilinen herkese açık program yok.
Kaynak: bounty-targets-data (HackerOne, Bugcrowd, Intigriti, YesWeHack herkese açık listeleri).
Teknik detay
Saldırı koşulları
- Sisteme yerel erişimi olan biri tetikleyebilir.
- Düşük yetkili bir hesap yeterli.
- Kullanıcının bir şey yapması gerekmez.
- Özel bir koşul gerekmez; tekrarlanabilir.
Başarılı olursa
- Gizlilik
- yok
- Bütünlük
- yok
- Erişilebilirlik
- yüksek · hizmet durdurulabilir
- Saldırı vektörü
- Yerel
- Karmaşıklık
- Düşük
- Gereken yetki
- Düşük
- Kullanıcı etkileşimi
- Gerekmez
- Kapsam
- Değişmez
- Gizlilik etkisi
- Yok
- Bütünlük etkisi
- Yok
- Erişilebilirlik etkisi
- Yüksek
Zayıflık sınıfı (CWE)
—
CVSS vektörü
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
nvd-primary
Saldırı bağlamı
Bu zafiyet sınıfının (CWE) MITRE CAPEC saldırı desenleri ve ATT&CK teknikleri. Tespit kuralı ve tehdit avı için başlangıç noktası.
Bu CWE için MITRE'de CAPEC/ATT&CK eşlemesi yok.
Noroxi analizi
Bu kayıt için henüz Noroxi analizi yok
385 binden fazla zafiyetin tamamına elle analiz yazmıyoruz; bu dürüst olmazdı. Öne çıkan ve sahada etkisi olan zafiyetler için mekanizma, tespit ve kapatma adımlarını ekibimiz yazıyor.
Bu ürünü kullanıyoruz, yardım isteyinDeğişiklik günlüğü
- Düzeltme✗ → ✓
Takip ettiğiniz kayıtlarda bu değişiklikler bildirim olarak da gelir. →
Referanslar
- git.kernel.org/stable/c/047b61a24d7c866c502aeeea482892969a68f216
- git.kernel.org/stable/c/35142b3816832889e50164d993018ea5810955ae
- git.kernel.org/stable/c/579d4f9ca9a9a605184a9b162355f6ba131f678d
- git.kernel.org/stable/c/8984bcbd1edf5bee5be06ad771d157333b790c33
- git.kernel.org/stable/c/93715aa2d80e6c5cea1bb486321fc4585076928b
- git.kernel.org/stable/c/ba48d3993af23753e1f1f01c8d592de9c7785f24
- git.kernel.org/stable/c/bb515c41306454937464da055609b5fb0a27821b
- git.kernel.org/stable/c/d43ef15bf4856c8c4c6c3572922331a5f06deb77
- lists.debian.org/debian-lts-announce/2025/10/msg00007.html
- lists.debian.org/debian-lts-announce/2025/10/msg00008.html
- cert-portal.siemens.com/productcert/html/ssa-082556.html
Üretici bildirimleri ve resmî kayıtlar. İstismar/PoC bağlantıları bilinçli olarak dışarıda bırakıldı.