- Son 7 gün
CVE-2026-99056
Linux çekirdeğinde strparser ayrıştırıcısı sökülmeden önce __strp_recv çalışmasının bitmesi garanti edilmiyor
- Yayımlandı
- Güncellendi
- 24 Eki 2026
- Açık yaşı
- 5 gün
- Kaydı açan
- Linux
ÖzetTürkçe
Linux çekirdeğinde, strparser alt sisteminde bir yarış koşulu (race condition) güvenlik açığı bulunmaktadır. strp_done fonksiyonunun üzerindeki yorum, strp durdurulduğunda strp_recv fonksiyonunun artık çağrılmayacağını belirtmektedir. Ancak bu yalnızca çağıran tarafın, strp_stop çağrılmadan önce başlamış strp_recv çağrılarının strp_done çağrılmadan önce tamamlanmasını garanti eden bir mekanizmaya (ör. kilitleme) sahip olması durumunda doğrudur. Bu güvenlik açığını gidermek için, çalışan her strp_recv çağrısının (bu çağrı, ->sk_data_ready üzerinden çağrıldığında bh_lock_sock, strp_work üzerinden çağrıldığında ise lock_sock altında çalışır) tamamlandığından emin olmak üzere sahte bir lock_sock/release_sock çifti eklenmiştir. Bu yarış koşulundan yalnızca espintcp etkilenebilir; ancak yama, strp kullanacak gelecekteki hiçbir kullanıcının bu hatayı taşımamasını sağlamaktadır. strp->sk üzerinde (strp'nin "genel mod"u) çökme oluşabileceği belirtilmektedir; ancak bu mod 9 yıldır mevcut olmasına rağmen hiç kullanılmamıştır ve yakında kaldırılacaktır. Durdurulma, duraklatma vb. bitleri, strp_stop ile strp_pause/unpause arasındaki yarışları önlemek için u8 türüne çevrilmiştir. Bir kanıt-of-concept (PoC) yayımlanmış olup, olası kullanımdan sonra serbest bırakma (UAF) hatasının bir istismara dönüştürülebildiği gösterilmiştir.
Kaynaktaki açıklama (İngilizce)
In the Linux kernel, the following vulnerability has been resolved:
strparser: make sure __strp_recv isn't running before tearing down the parser
The comment above strp_done() claims that if strp is stopped,
strp_recv will no longer be called. That's only true if the caller has
a mechanism (eg locking) to guarantee that strp_recv() calls that
started before strp_stop() have completed by the time we call
strp_done().
This adds a dummy lock_sock/release_sock pair to guarantee that any
in-flight strp_recv() (which runs under either bh_lock_sock or
lock_sock, depending if it's called from ->sk_data_ready or strp_work)
has completed.
Only espintcp can be affected by this race condition, but this patch
makes sure no future user of strp can have the bug.
This could crash on strp->sk ("general mode" of strp), but this mode
has been here for 9 years and has never been used. It'll be gone soon,
no point worrying about it.
Switch the stopped/paused/etc bits to u8's to avoid races between
strp_stop() and strp_pause/unpause().
A reproducer has been published and turns the possible UAF into an
exploit [1].
Bu açığın açıklamasını Türkçeye çevirdik. Adım adım çözüm önerilerini kritik ve yeni açıklar için hazırlıyoruz; düzeltilmiş sürüm aşağıdaki tabloda, ayrıntılar üreticinin duyurusunda.
Etkilenen sürümler1 yazılım
| Yazılım | Etkilenen | Düzeltildiği sürüm |
|---|---|---|
| Linux | 5.6 | – |
| < 5.6 Etkilenmiyor | – | |
| ≥ 6.6.160 Etkilenmiyor | – | |
| ≥ 6.12.113 Etkilenmiyor | – | |
| ≥ 6.18.57 Etkilenmiyor | – | |
| ≥ 7.2.11 Etkilenmiyor | – |
Kaynaklar7 kaynak
- CVE.org kaydı
- NVD kaydı
- git.kernel.org/…ble/c/a18dd388045dc7263d99a07db9de4e0f149ca8f1 Diğer
- git.kernel.org/…ble/c/9f3e9fe1b155e9b4572054d8d140586bc3512ecf Diğer
- git.kernel.org/…ble/c/d2b5f637b9b67a79a50d42614d10653c13b4e449 Diğer
- git.kernel.org/…ble/c/eaa3a29004c063d7e9d5ea55636f693f67e6db0f Diğer
- git.kernel.org/…ble/c/0984ebc631792acf8fff105112ee74a6b8f1efcc Diğer
Kayıt geçmişi
- Yayımlandı
İlgili açıklar
Türkçe metin, resmi kayıtlardaki bilgilerle yapay zekâ yardımıyla yazıldı ve yayından önce otomatik kontrollerden geçti. Bir değişikliği uygulamadan önce üreticinin duyurusuna mutlaka bakın.