usbip: validate number_of_packets in usbip_pack_ret_submit()
In the Linux kernel, the following vulnerability has been resolved: usbip: validate number_of_packets in usbip_pack_ret_submit() When a USB/IP client receives a RET_SUBMIT response, usbip_pack_ret_submit() unconditionally overwrites urb->number_of_packets from the network PDU. This value is subsequently used as the loop bound in usbip_recv_iso() and usbip_pad_iso() to iterate over urb->iso_frame_desc[], a flexible array whose size was fixed at URB allocation time based on the *original* number_of_packets from the CMD_SUBMIT. A malicious USB/IP server can set number_of_packets in the response to a value larger than what was originally submitted, causing a heap out-of-bounds write when usbip_recv_iso() writes to urb->iso_frame_desc[i] beyond the allocated region. KASAN confirmed this with kernel 7.0.0-rc5: BUG: KASAN: slab-out-of-bounds in usbip_recv_iso+0x46a/0x640 Write of size 4 at addr ffff888106351d40 by task vhci_rx/69 The buggy address is located 0 bytes to the right of allocated 320-byte region [ffff888106351c00, ffff888106351d40) The server side (stub_rx.c) and gadget side (vudc_rx.c) already validate number_of_packets in the CMD_SUBMIT path since commits c6688ef9f297 ("usbip: fix stub_rx: harden CMD_SUBMIT path to handle malicious input") and b78d830f0049 ("usbip: fix vudc_rx: harden CMD_SUBMIT path to handle malicious input"). The server side validates against USBIP_MAX_ISO_PACKETS because no URB exists yet at that point. On the client side we have the original URB, so we can use the tighter bound: the response must not exceed the original number_of_packets. This mirrors the existing validation of actual_length against transfer_buffer_length in usbip_recv_xbuff(), which checks the response value against the original allocation size. Kelvin Mbogo's series ("usb: usbip: fix integer overflow in usbip_recv_iso()", v2) hardens the receive-side functions themselves; this patch complements that work by catching the bad value at its source -- in usbip_pack_ret_submit() before the overwrite -- and using the tighter per-URB allocation bound rather than the global USBIP_MAX_ISO_PACKETS limit. Fix this by checking rpdu->number_of_packets against urb->number_of_packets in usbip_pack_ret_submit() before the overwrite. On violation, clamp to zero so that usbip_recv_iso() and usbip_pad_iso() safely return early.
- Yayın
- 24 Nis 2026
- Güncelleme
- 21 Ağu 2026
- EPSS
- %0,4 · 36. yüzdelik
- CWE
- CWE-787
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
39
İzleyin
Şimdilik düşük öncelik.
- CVSS
- 39 / 40 · 9.8 / 10
- CISA KEV
- 0 / 30 · Listede değil
- EPSS
- 0 / 30 · %0,4
CNA ile NVD puanı
- NVD
- —
- CNA · Linux
- 9,8
- NVD henüz kendi puanını vermedi; gösterilen puan CNA’nın.
Kaydı açan otoritenin puanı ile NVD’nin bağımsız puanı. İki puan arasındaki fark ciddiyetin tartışmalı olduğunu gösterir.
Noroxi analizi
Bu kayıt için henüz Noroxi analizi yok
Veritabanındaki yüz binlerce 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 isteyinEtkilenen sistemler
| Üretici | Ürün | CPE |
|---|---|---|
| linux | linux kernel | cpe:2.3:o:linux:linux_kernel |
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.
- linux linux kernel2.6.39 ve sonrası · 6.6.136 öncesi
- linux linux kernel6.7 ve sonrası · 6.12.83 öncesi
- linux linux kernel6.13 ve sonrası · 6.18.24 öncesi
- linux linux kernel6.19 ve sonrası · 6.19.14 öncesi
- linux linux kernel7.0 ve sonrası · 7.0.1 öncesi
Ü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
- d9638d9236eed035a575feddec61d036dacc2676, ca7d3501b7a287c18b5b470e871d3029b0f4842a, 1ce528277e1a66856ed3f7526c1e3458c0ed4a70, db898d0c5c493ce4177d5e1d3a953e079a56a24b, 5aa02704b9ee67c5b2ee26d54c5f4eb99e93ba9a, 2.6.39etkilenir
- 1325f85fa49f57df034869de430f7c302ae23109 ve sonrası · 324262c38438255bf6bdbf6342ca47c0badaab76 öncesietkilenir · git
- 1325f85fa49f57df034869de430f7c302ae23109 ve sonrası · 973f2c250289f5bf6cc146b98aa6fdde11fe50d6 öncesietkilenir · git
- 1325f85fa49f57df034869de430f7c302ae23109 ve sonrası · ce744264b06b97069b3722511ab355738311fee0 öncesietkilenir · git
- 1325f85fa49f57df034869de430f7c302ae23109 ve sonrası · 885c8591784da6314f9aa82fa460ac69f9f79e5f öncesietkilenir · git
- 1325f85fa49f57df034869de430f7c302ae23109 ve sonrası · 8d155e2d1c4102f74f82a2bf9c016164bb0f7384 öncesietkilenir · git
- 1325f85fa49f57df034869de430f7c302ae23109 ve sonrası · 906f16a836de13fe61f49cdce2f66f2dbd14caf4 öncesietkilenir · git
- 1325f85fa49f57df034869de430f7c302ae23109 ve sonrası · ef8ebb1c637b4cfb61a9dd2e013376774ee2033b öncesietkilenir · git
- 1325f85fa49f57df034869de430f7c302ae23109 ve sonrası · 5e1c4ece08ccdc197177631f111845a2c68eede3 öncesietkilenir · git
- 1325f85fa49f57df034869de430f7c302ae23109 ve sonrası · 2ab833a16a825373aad2ba7d54b572b277e95b71 öncesietkilenir · git
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.16.1.el10_2 öncesi | 6.12.0-211.16.1.el10_2 |
| AlmaLinux:10 | kernel-64k | 6.12.0-211.16.1.el10_2 öncesi | 6.12.0-211.16.1.el10_2 |
| AlmaLinux:10 | kernel-64k-core | 6.12.0-211.16.1.el10_2 öncesi | 6.12.0-211.16.1.el10_2 |
| AlmaLinux:10 | kernel-64k-debug | 6.12.0-211.16.1.el10_2 öncesi | 6.12.0-211.16.1.el10_2 |
| AlmaLinux:10 | kernel-64k-debug-core | 6.12.0-211.16.1.el10_2 öncesi | 6.12.0-211.16.1.el10_2 |
| AlmaLinux:10 | kernel-64k-debug-devel | 6.12.0-211.16.1.el10_2 öncesi | 6.12.0-211.16.1.el10_2 |
| AlmaLinux:10 | kernel-64k-debug-devel-matched | 6.12.0-211.16.1.el10_2 öncesi | 6.12.0-211.16.1.el10_2 |
| AlmaLinux:10 | kernel-64k-debug-modules | 6.12.0-211.16.1.el10_2 öncesi | 6.12.0-211.16.1.el10_2 |
| AlmaLinux:10 | kernel-64k-debug-modules-core | 6.12.0-211.16.1.el10_2 öncesi | 6.12.0-211.16.1.el10_2 |
| AlmaLinux:10 | kernel-64k-debug-modules-extra | 6.12.0-211.16.1.el10_2 öncesi | 6.12.0-211.16.1.el10_2 |
| AlmaLinux:10 | kernel-64k-devel | 6.12.0-211.16.1.el10_2 öncesi | 6.12.0-211.16.1.el10_2 |
| AlmaLinux:10 | kernel-64k-devel-matched | 6.12.0-211.16.1.el10_2 öncesi | 6.12.0-211.16.1.el10_2 |
| AlmaLinux:10 | kernel-64k-modules | 6.12.0-211.16.1.el10_2 öncesi | 6.12.0-211.16.1.el10_2 |
| AlmaLinux:10 | kernel-64k-modules-core | 6.12.0-211.16.1.el10_2 öncesi | 6.12.0-211.16.1.el10_2 |
| AlmaLinux:10 | kernel-64k-modules-extra | 6.12.0-211.16.1.el10_2 öncesi | 6.12.0-211.16.1.el10_2 |
| AlmaLinux:10 | kernel-abi-stablelists | 6.12.0-211.16.1.el10_2 öncesi | 6.12.0-211.16.1.el10_2 |
| AlmaLinux:10 | kernel-core | 6.12.0-211.16.1.el10_2 öncesi | 6.12.0-211.16.1.el10_2 |
| AlmaLinux:10 | kernel-cross-headers | 6.12.0-211.16.1.el10_2 öncesi | 6.12.0-211.16.1.el10_2 |
| AlmaLinux:10 | kernel-debug | 6.12.0-211.16.1.el10_2 öncesi | 6.12.0-211.16.1.el10_2 |
| AlmaLinux:10 | kernel-debug-core | 6.12.0-211.16.1.el10_2 öncesi | 6.12.0-211.16.1.el10_2 |
| AlmaLinux:10 | kernel-debug-devel | 6.12.0-211.16.1.el10_2 öncesi | 6.12.0-211.16.1.el10_2 |
| AlmaLinux:10 | kernel-debug-devel-matched | 6.12.0-211.16.1.el10_2 öncesi | 6.12.0-211.16.1.el10_2 |
| AlmaLinux:10 | kernel-debug-modules | 6.12.0-211.16.1.el10_2 öncesi | 6.12.0-211.16.1.el10_2 |
| AlmaLinux:10 | kernel-debug-modules-core | 6.12.0-211.16.1.el10_2 öncesi | 6.12.0-211.16.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 | 2.6.33 | Üretici (CNA) |
| Linux Linux | 2.6.34 | Üretici (CNA) |
| Linux Linux | 2.6.35 | Üretici (CNA) |
| Linux Linux | 2.6.36 | Üretici (CNA) |
| Linux Linux | 2.6.39 | Üretici (CNA) |
| Linux Linux | 2ab833a16a825373aad2ba7d54b572b277e95b71 | Üretici (CNA) |
| Linux Linux | 324262c38438255bf6bdbf6342ca47c0badaab76 | Üretici (CNA) |
| Linux Linux | 5e1c4ece08ccdc197177631f111845a2c68eede3 | Üretici (CNA) |
| Linux Linux | 885c8591784da6314f9aa82fa460ac69f9f79e5f | Üretici (CNA) |
| Linux Linux | 8d155e2d1c4102f74f82a2bf9c016164bb0f7384 | Üretici (CNA) |
| Linux Linux | 906f16a836de13fe61f49cdce2f66f2dbd14caf4 | Üretici (CNA) |
| Linux Linux | 973f2c250289f5bf6cc146b98aa6fdde11fe50d6 | Üretici (CNA) |
| Linux Linux | ce744264b06b97069b3722511ab355738311fee0 | Üretici (CNA) |
| Linux Linux | ef8ebb1c637b4cfb61a9dd2e013376774ee2033b | Üretici (CNA) |
| almalinux:kernel | 5.14.0-687.10.1.el9_8 · AlmaLinux:9 | Paket deposu (OSV) |
| almalinux:kernel-64k | 5.14.0-687.10.1.el9_8 · AlmaLinux:9 | Paket deposu (OSV) |
| almalinux:kernel-64k-core | 5.14.0-687.10.1.el9_8 · AlmaLinux:9 | Paket deposu (OSV) |
| almalinux:kernel-64k-debug | 5.14.0-687.10.1.el9_8 · AlmaLinux:9 | Paket deposu (OSV) |
| almalinux:kernel-64k-debug-core | 5.14.0-687.10.1.el9_8 · AlmaLinux:9 | Paket deposu (OSV) |
| almalinux:kernel-64k-debug-devel | 5.14.0-687.10.1.el9_8 · AlmaLinux:9 | Paket deposu (OSV) |
| almalinux:kernel-64k-debug-devel-matched | 5.14.0-687.10.1.el9_8 · AlmaLinux:9 | Paket deposu (OSV) |
| almalinux:kernel-64k-debug-modules | 5.14.0-687.10.1.el9_8 · AlmaLinux:9 | Paket deposu (OSV) |
| almalinux:kernel-64k-debug-modules-core | 5.14.0-687.10.1.el9_8 · AlmaLinux:9 | Paket deposu (OSV) |
| almalinux:kernel-64k-debug-modules-extra | 5.14.0-687.10.1.el9_8 · AlmaLinux:9 | Paket deposu (OSV) |
| almalinux:kernel-64k-devel | 5.14.0-687.10.1.el9_8 · AlmaLinux:9 | Paket deposu (OSV) |
| almalinux:kernel-64k-devel-matched | 5.14.0-687.10.1.el9_8 · AlmaLinux:9 | Paket deposu (OSV) |
| debian:linux | 6.1.176-1 · Debian:12 | Paket deposu (OSV) |
| red hat:kernel-64k-debug-debuginfo | 0:5.14.0-687.10.1.el9_8 · Red Hat:enterprise_linux:9::appstream | Paket deposu (OSV) |
| red hat:kernel-64k-debug-devel | 0:5.14.0-687.10.1.el9_8 · Red Hat:enterprise_linux:9::appstream | Paket deposu (OSV) |
| red hat:kernel-64k-debug-devel-matched | 0:5.14.0-687.10.1.el9_8 · Red Hat:enterprise_linux:9::appstream | Paket deposu (OSV) |
+17
İ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ı
- İnternetten erişebilen herkes tetikleyebilir.
- Hesap ya da parola gerekmez.
- Kullanıcının bir şey yapması gerekmez.
- Özel bir koşul gerekmez; tekrarlanabilir.
Başarılı olursa
- Gizlilik
- yüksek · veriler okunabilir
- Bütünlük
- yüksek · veri ya da yapılandırma değiştirilebilir
- Erişilebilirlik
- yüksek · hizmet durdurulabilir
- Saldırı vektörü
- Ağ
- Karmaşıklık
- Düşük
- Gereken yetki
- Yok
- Kullanıcı etkileşimi
- Gerekmez
- Kapsam
- Değişmez
- Gizlilik etkisi
- Yüksek
- Bütünlük etkisi
- Yüksek
- Erişilebilirlik etkisi
- Yüksek
Zayıflık sınıfı (CWE)
CWE-787 · Out-of-bounds WriteCVSS vektörü
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
nvd-secondary
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.
Değ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/2ab833a16a825373aad2ba7d54b572b277e95b71
- git.kernel.org/stable/c/324262c38438255bf6bdbf6342ca47c0badaab76
- git.kernel.org/stable/c/5e1c4ece08ccdc197177631f111845a2c68eede3
- git.kernel.org/stable/c/885c8591784da6314f9aa82fa460ac69f9f79e5f
- git.kernel.org/stable/c/8d155e2d1c4102f74f82a2bf9c016164bb0f7384
- git.kernel.org/stable/c/906f16a836de13fe61f49cdce2f66f2dbd14caf4
- git.kernel.org/stable/c/973f2c250289f5bf6cc146b98aa6fdde11fe50d6
- git.kernel.org/stable/c/ce744264b06b97069b3722511ab355738311fee0
- git.kernel.org/stable/c/ef8ebb1c637b4cfb61a9dd2e013376774ee2033b
- access.redhat.com/errata/RHSA-2026:19568
- access.redhat.com/errata/RHSA-2026:19569
- access.redhat.com/errata/RHSA-2026:23224
- access.redhat.com/errata/RHSA-2026:24343
- access.redhat.com/errata/RHSA-2026:25095
- access.redhat.com/errata/RHSA-2026:41236
- access.redhat.com/security/cve/CVE-2026-31607
- bugzilla.redhat.com/show_bug.cgi?id=2461521
- security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-31607.json
Üretici bildirimleri ve resmî kayıtlar. İstismar/PoC bağlantıları bilinçli olarak dışarıda bırakıldı.