CVE-2026-63895

Naməlum

Təsvir

Linux kernelində aşağıdakı zəiflik aradan qaldırılıb: usb: gadget: f_fs: qısa ep0 oxunuşunda yalnız qəbul edilmiş baytları kopyala ffs_ep0_read() nəzarət-OUT məlumat buferini kmalloc() ilə (kzalloc deyil) Setup paketindəki Length dəyəri ilə ayırır, sonra faktiki olaraq neçə bayt qəbul edildiyindən asılı olmayaraq həmin tam len-i istifadəçi məkanına kopyalayır: data = kmalloc(len, GFP_KERNEL); ... ret = __ffs_ep0_queue_wait(ffs, data, len); if ((ret > 0) && (copy_to_user(buf, data, len))) ret = -EFAULT; __ffs_ep0_queue_wait() req->actual qaytarır ki, bu da qısa nəzarət OUT ötürməsində len-dən ciddi şəkildə kiçikdir. copy_to_user() çağırışı yenə də len bayt kopyalayır, buna görə qısa OUT zamanı kmalloc() buferinin son (len - ret) baytları -- işə salınmamış slab qalıqları -- FunctionFS demonuna çatdırılır. Qısa ep0 OUT tamamlanmaları USB nəzarət-ötürmə davranışı ilə müəyyən edilir və daxili UDC-lər tərəfindən yaradılır: * dwc2 ep0 DATA OUT üçün req->actual < req->length olduqda davam edir (short-not-ok yeganə ep0-OUT stall yolu). * aspeed_udc ep0 OUT-u rx_len < ep->ep.maxpacket olduqda bitirir. * renesas_usbf "ep0 short packet" qeyd edir və sorğunu tamamlayır. * dwc3 qısa IN zamanı stall edir, lakin qısa OUT zamanı etmir. Buna görə qısa ep0 OUT pozulmuş UDC-nin sübutu deyil; bu, f_fs-in öhdəsindən gəlməli olduğu normal vəziyyətdir. drivers/usb/gadget/legacy/inode.c-dəki qardaş gadgetfs implementasiyası bunu artıq copy_to_user()-dən əvvəl min(len, dev->req->actual) vasitəsilə düzgün edir. Bu yamaq f_fs.c-ni müdafiə qatında kəsmək əvəzinə eyni təhlükəsiz nümunəyə gətirir. Xəta FunctionFS cihaz qovşağından əldə edilir ki, real yerləşdirmələrdə bu, imtiyazlı gadget demonuna (adbd, UMS, kompozit gadget xidmətləri və s.) məxsusdur; imtiyazsız istifadəçi məkanından əldə edilə bilməz. Linux host stekləri adətən qısa wLength nəzarət OUT-larını gadget-a çatmazdan əvvəl rədd edir, buna görə bunu təkrar istehsal etmək üçün həmin host tərəfli yoxlamanı yan keçən build tələb olunurdu. Yan keçmə mövcud olduqda, 64 baytlıq Setup-da 1 baytlıq yük demonun oxu buferində 63 bayt canary olmayan slab qalığı yaradır. Düzəliş istifadəçi məkanına yalnız ret (faktiki qəbul edilmiş) baytların kopyalanması ilə edilir.

CiddilikNaməlum
CVSS—
İstismar ehtimalı—
MəhsulLinux
Dərc19 iyl 2026
İlk görülmə19 iyl 2026

Necə düzəltmək olar

Yeniləyin
  • Linux Linux90ccf5fb63243fae1b4b3200f3310500500ecf2e, af32dbb2ca0b3d09271ab718d13857a457fa16f2, e835bf9a055f71874065a40780ca5560b7df8b33, 88874a19b2b093bfaaa1c0090fa536c44da8c08b, 607730a414773a7cbe3037a64a6c64e72689ff5e, 23c1f7deb9dd8447ecde749850676302aa1e2bd3, 4e036c10e7f4df5d951c69cc3697bc8e209c6d02 və ya daha yeni versiya

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
Linux Linuxddf8abd2599491cbad959c700b90ba72a5dce8d0 ≤ v < 90ccf5fb63243fae1b4b3200f3310500500ecf2e, ddf8abd2599491cbad959c700b90ba72a5dce8d0 ≤ v < af32dbb2ca0b3d09271ab718d13857a457fa16f2, ddf8abd2599491cbad959c700b90ba72a5dce8d0 ≤ v < e835bf9a055f71874065a40780ca5560b7df8b33, ddf8abd2599491cbad959c700b90ba72a5dce8d0 ≤ v < 88874a19b2b093bfaaa1c0090fa536c44da8c08b, ddf8abd2599491cbad959c700b90ba72a5dce8d0 ≤ v < 607730a414773a7cbe3037a64a6c64e72689ff5e, ddf8abd2599491cbad959c700b90ba72a5dce8d0 ≤ v < 23c1f7deb9dd8447ecde749850676302aa1e2bd3, ddf8abd2599491cbad959c700b90ba72a5dce8d0 ≤ v < 4e036c10e7f4df5d951c69cc3697bc8e209c6d02, 2.6.3590ccf5fb63243fae1b4b3200f3310500500ecf2e, af32dbb2ca0b3d09271ab718d13857a457fa16f2, e835bf9a055f71874065a40780ca5560b7df8b33, 88874a19b2b093bfaaa1c0090fa536c44da8c08b, 607730a414773a7cbe3037a64a6c64e72689ff5e, 23c1f7deb9dd8447ecde749850676302aa1e2bd3, 4e036c10e7f4df5d951c69cc3697bc8e209c6d02

Versiyanızı yoxlayın

Məhsulu seçin və istifadə etdiyiniz versiyanı yazın; versiyanın təsirlənən aralıqda olub-olmadığını görün.

Intelligence 360 paketində

Attack Surface Management

Domenlərinizə bağlı aktivləri, onlarda işləyən texnologiyaları və məlum zəiflikləri bir siyahıda görün.

CVE-2026-63895 · Linux · Dark Radar