cxl/port: Fix use after free of parent_port in cxl_detach_ep()
Noroxi değerlendirmesi
Öncelik: İzleyin (aksiyon skoru 31/100)
- İzlediğimiz kaynaklarda (CISA KEV, Exploit-DB, Metasploit, Nuclei, GitHub) herkese açık istismar kodu ya da sahada sömürü kaydı yok.
- Önümüzdeki 30 günde sömürülme olasılığı %0,12 (FIRST EPSS).
- 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.
- Düzeltilmiş sürüm: Linux Linux 19d2f0b97a131198efc2c4ca3eb7f980bba8c2b4, 2c32141462045cf93d54a5146a0ba572b83533dd, d216a4bd138eb57cc4ae7c43b2f709e3482af7e2.
Şimdilik düşük öncelik. Linux Linux 19d2f0b97a131198efc2c4ca3eb7f980bba8c2b4, 2c32141462045cf93d54a5146a0ba572b83533dd, d216a4bd138eb57cc4ae7c43b2f709e3482af7e2 ya da daha yeni sürüme yükseltin.
Kaydın verisinden otomatik üretilir: CVSS (NVD ve CNA), CISA KEV ve SSVC, FIRST EPSS, istismar kaynakları, düzeltme sürümleri. Nasıl hesaplıyoruz
Birincil kaynaklar: NVD · CVE.org · FIRST EPSS
In the Linux kernel, the following vulnerability has been resolved: cxl/port: Fix use after free of parent_port in cxl_detach_ep() cxl_detach_ep() is called during bottom-up removal when all CXL memory devices beneath a switch port have been removed. For each port in the hierarchy it locks both the port and its parent, removes the endpoint, and if the port is now empty, marks it dead and unregisters the port by calling delete_switch_port(). There are two places during this work where the parent_port may be used after freeing: First, a concurrent detach may have already processed a port by the time a second worker finds it via bus_find_device(). Without pinning parent_port, it may already be freed when we discover port->dead and attempt to unlock the parent_port. In a production kernel that's a silent memory corruption, with lock debug, it looks like this: []DEBUG_LOCKS_WARN_ON(__owner_task(owner) != get_current()) []WARNING: kernel/locking/mutex.c:949 at __mutex_unlock_slowpath+0x1ee/0x310 []Call Trace: []mutex_unlock+0xd/0x20 []cxl_detach_ep+0x180/0x400 [cxl_core] []devm_action_release+0x10/0x20 []devres_release_all+0xa8/0xe0 []device_unbind_cleanup+0xd/0xa0 []really_probe+0x1a6/0x3e0 Second, delete_switch_port() releases three devm actions registered against parent_port. The last of those is unregister_port() and it calls device_unregister() on the child port, which can cascade. If parent_port is now also empty the device core may unregister and free it too. So by the time delete_switch_port() returns, parent_port may be free, and the subsequent device_unlock(&parent_port->dev) operates on freed memory. The kernel log looks same as above, with a different offset in cxl_detach_ep(). Both of these issues stem from the absence of a lifetime guarantee between a child port and its parent port. Establish a lifetime rule for ports: child ports hold a reference to their parent device until release. Take the reference when the port is allocated and drop it when released. This ensures the parent is valid for the full lifetime of the child and eliminates the use after free window in cxl_detach_ep(). This is easily reproduced with a reload of cxl_acpi in QEMU with CXL devices present.
- Yayın
- 22 Nis 2026
- Güncelleme
- 17 Haz 2026
- EPSS
- %0,1 · 1. yüzdelik
- CWE
- CWE-416
Rapor araçları
Aksiyon skoru
31
İzleyin
Şimdilik düşük öncelik.
- CVSS
- 31 / 40 · 7.8 / 10
- CISA KEV
- 0 / 30 · Listede değil
- EPSS
- 0 / 30 · %0,1
Bu kayıt değişirse haber alın
- KEV'de değil: sahada sömürü kaydı yok
- Herkese açık istismar kodu kaydı yok
- Düzeltme yayımlandı
Bunlardan biri değişirse günlük e-posta özetinde haber veririz.
WordPress siteniz mi var? WP Lens ile ücretsiz tarayın
Noroxi analizi
Sizin ortamınızda ne anlama geliyor?
Yukarıdaki değerlendirme kaydın verisinden otomatik üretilir; ortamınızı bilmez. Bu açığın sizde gerçekten sömürülebilir olup olmadığını ve hangi önlemin yeteceğini ekibimiz sizin sistemlerinizde doğrular.
Bu ürünü kullanıyoruz, yardım isteyinEtkilenen sistemler
Sürümünüz etkileniyor mu?
Ürünü seçip kullandığınız sürümü yazın. Bu kaydın sürüm aralıklarıyla tarayıcınızda karşılaştırılır; sürüm hiçbir yere gönderilmez.
| Ü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’inize sürümle eklerseniz eşleşme bunlarla yapılır.
- linux linux kernel6.3 ve sonrası · 6.12.80 öncesi
- linux linux kernel6.13 ve sonrası · 6.18.21 öncesi
- linux linux kernel6.19 ve sonrası · 6.19.11 öncesi
- linux linux kernel7.0
Ü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
- 6.3etkilenir
- 2345df54249c6fb7779e2a72b427ee79ed3eaad5 ve sonrası · d216a4bd138eb57cc4ae7c43b2f709e3482af7e2 öncesietkilenir · git
- 2345df54249c6fb7779e2a72b427ee79ed3eaad5 ve sonrası · 2c32141462045cf93d54a5146a0ba572b83533dd öncesietkilenir · git
- 2345df54249c6fb7779e2a72b427ee79ed3eaad5 ve sonrası · f7dc6f381a1e5f068333f1faa9265d6af1df4235 öncesietkilenir · git
- 2345df54249c6fb7779e2a72b427ee79ed3eaad5 ve sonrası · 19d2f0b97a131198efc2c4ca3eb7f980bba8c2b4 öncesietkilenir · git
- 6.3 öncesietkilenmez · semver
- 6.12.80 ve sonrası · 6.12.* dahil öncesietkilenmez · semver
- 6.18.21 ve sonrası · 6.18.* dahil öncesietkilenmez · semver
- 6.19.11 ve sonrası · 6.19.* dahil öncesietkilenmez · semver
- 7.0 ve sonrasıetkilenmez · original_commit_for_fix
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.37.1.el10_2 öncesi | 6.12.0-211.37.1.el10_2 |
| AlmaLinux:10 | kernel-64k | 6.12.0-211.37.1.el10_2 öncesi | 6.12.0-211.37.1.el10_2 |
| AlmaLinux:10 | kernel-64k-core | 6.12.0-211.37.1.el10_2 öncesi | 6.12.0-211.37.1.el10_2 |
| AlmaLinux:10 | kernel-64k-debug | 6.12.0-211.37.1.el10_2 öncesi | 6.12.0-211.37.1.el10_2 |
| AlmaLinux:10 | kernel-64k-debug-core | 6.12.0-211.37.1.el10_2 öncesi | 6.12.0-211.37.1.el10_2 |
| AlmaLinux:10 | kernel-64k-debug-devel | 6.12.0-211.37.1.el10_2 öncesi | 6.12.0-211.37.1.el10_2 |
| AlmaLinux:10 | kernel-64k-debug-devel-matched | 6.12.0-211.37.1.el10_2 öncesi | 6.12.0-211.37.1.el10_2 |
| AlmaLinux:10 | kernel-64k-debug-modules | 6.12.0-211.37.1.el10_2 öncesi | 6.12.0-211.37.1.el10_2 |
| AlmaLinux:10 | kernel-64k-debug-modules-core | 6.12.0-211.37.1.el10_2 öncesi | 6.12.0-211.37.1.el10_2 |
| AlmaLinux:10 | kernel-64k-debug-modules-extra | 6.12.0-211.37.1.el10_2 öncesi | 6.12.0-211.37.1.el10_2 |
| AlmaLinux:10 | kernel-64k-devel | 6.12.0-211.37.1.el10_2 öncesi | 6.12.0-211.37.1.el10_2 |
| AlmaLinux:10 | kernel-64k-devel-matched | 6.12.0-211.37.1.el10_2 öncesi | 6.12.0-211.37.1.el10_2 |
| AlmaLinux:10 | kernel-64k-modules | 6.12.0-211.37.1.el10_2 öncesi | 6.12.0-211.37.1.el10_2 |
| AlmaLinux:10 | kernel-64k-modules-core | 6.12.0-211.37.1.el10_2 öncesi | 6.12.0-211.37.1.el10_2 |
| AlmaLinux:10 | kernel-64k-modules-extra | 6.12.0-211.37.1.el10_2 öncesi | 6.12.0-211.37.1.el10_2 |
| AlmaLinux:10 | kernel-abi-stablelists | 6.12.0-211.37.1.el10_2 öncesi | 6.12.0-211.37.1.el10_2 |
| AlmaLinux:10 | kernel-core | 6.12.0-211.37.1.el10_2 öncesi | 6.12.0-211.37.1.el10_2 |
| AlmaLinux:10 | kernel-cross-headers | 6.12.0-211.37.1.el10_2 öncesi | 6.12.0-211.37.1.el10_2 |
| AlmaLinux:10 | kernel-debug | 6.12.0-211.37.1.el10_2 öncesi | 6.12.0-211.37.1.el10_2 |
| AlmaLinux:10 | kernel-debug-core | 6.12.0-211.37.1.el10_2 öncesi | 6.12.0-211.37.1.el10_2 |
| AlmaLinux:10 | kernel-debug-devel | 6.12.0-211.37.1.el10_2 öncesi | 6.12.0-211.37.1.el10_2 |
| AlmaLinux:10 | kernel-debug-devel-matched | 6.12.0-211.37.1.el10_2 öncesi | 6.12.0-211.37.1.el10_2 |
| AlmaLinux:10 | kernel-debug-modules | 6.12.0-211.37.1.el10_2 öncesi | 6.12.0-211.37.1.el10_2 |
| AlmaLinux:10 | kernel-debug-modules-core | 6.12.0-211.37.1.el10_2 öncesi | 6.12.0-211.37.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
Bu üründe bundan önce ve sonra yayımlananlar
- ← ÖncekiCVE-2026-3152722 Nis 2026 · driver core: platform: use generic driver_override infrastructure31İzleyin
- ← ÖncekiCVE-2026-3152922 Nis 2026 · cxl/region: Fix leakage in __construct_region()22İzleyin
- Sonraki →CVE-2026-3143522 Nis 2026 · netfs: Fix read abandonment during retry35İzleyin
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 | 19d2f0b97a131198efc2c4ca3eb7f980bba8c2b4 | Üretici (CNA) |
| Linux Linux | 2c32141462045cf93d54a5146a0ba572b83533dd | Üretici (CNA) |
| Linux Linux | d216a4bd138eb57cc4ae7c43b2f709e3482af7e2 | Üretici (CNA) |
| Linux Linux | f7dc6f381a1e5f068333f1faa9265d6af1df4235 | Üretici (CNA) |
| almalinux:kernel | 6.12.0-211.37.1.el10_2 · AlmaLinux:10 | Paket deposu (OSV) |
| almalinux:kernel-64k | 6.12.0-211.37.1.el10_2 · AlmaLinux:10 | Paket deposu (OSV) |
| almalinux:kernel-64k-core | 6.12.0-211.37.1.el10_2 · AlmaLinux:10 | Paket deposu (OSV) |
| almalinux:kernel-64k-debug | 6.12.0-211.37.1.el10_2 · AlmaLinux:10 | Paket deposu (OSV) |
| almalinux:kernel-64k-debug-core | 6.12.0-211.37.1.el10_2 · AlmaLinux:10 | Paket deposu (OSV) |
| almalinux:kernel-64k-debug-devel | 6.12.0-211.37.1.el10_2 · AlmaLinux:10 | Paket deposu (OSV) |
| almalinux:kernel-64k-debug-devel-matched | 6.12.0-211.37.1.el10_2 · AlmaLinux:10 | Paket deposu (OSV) |
| almalinux:kernel-64k-debug-modules | 6.12.0-211.37.1.el10_2 · AlmaLinux:10 | Paket deposu (OSV) |
| almalinux:kernel-64k-debug-modules-core | 6.12.0-211.37.1.el10_2 · AlmaLinux:10 | Paket deposu (OSV) |
| almalinux:kernel-64k-debug-modules-extra | 6.12.0-211.37.1.el10_2 · AlmaLinux:10 | Paket deposu (OSV) |
| almalinux:kernel-64k-devel | 6.12.0-211.37.1.el10_2 · AlmaLinux:10 | Paket deposu (OSV) |
| almalinux:kernel-64k-devel-matched | 6.12.0-211.37.1.el10_2 · AlmaLinux:10 | Paket deposu (OSV) |
| debian:linux | 6.12.85-1 · Debian:13 | Paket deposu (OSV) |
| opensuse:dtb-aarch64 | 6.12.0-160000.38.1 · openSUSE:Leap 16.0 | Paket deposu (OSV) |
| opensuse:kernel-64kb | 6.12.0-160000.38.1 · openSUSE:Leap 16.0 | Paket deposu (OSV) |
| opensuse:kernel-azure | 6.12.0-160000.38.1 · openSUSE:Leap 16.0 | Paket deposu (OSV) |
| opensuse:kernel-default | 6.12.0-160000.38.1 · openSUSE:Leap 16.0 | Paket deposu (OSV) |
| opensuse:kernel-default-base | 6.12.0-160000.38.1.160000.2.22 · openSUSE:Leap 16.0 | Paket deposu (OSV) |
| opensuse:kernel-docs | 6.12.0-160000.38.1 · openSUSE:Leap 16.0 | Paket deposu (OSV) |
| opensuse:kernel-kvmsmall | 6.12.0-160000.38.1 · openSUSE:Leap 16.0 | Paket deposu (OSV) |
| opensuse:kernel-obs-build | 6.12.0-160000.38.1 · openSUSE:Leap 16.0 | Paket deposu (OSV) |
| opensuse:kernel-obs-qa | 6.12.0-160000.38.1 · openSUSE:Leap 16.0 | Paket deposu (OSV) |
| opensuse:kernel-rt | 6.12.0-160000.38.1 · openSUSE:Leap 16.0 | Paket deposu (OSV) |
| opensuse:kernel-source | 6.12.0-160000.38.1 · openSUSE:Leap 16.0 | Paket deposu (OSV) |
| opensuse:kernel-syms | 6.12.0-160000.38.1 · openSUSE:Leap 16.0 | Paket deposu (OSV) |
| red hat:kernel-64k-debug-debuginfo | 0:6.12.0-211.37.1.el10_2 · Red Hat:enterprise_linux:10.2 | Paket deposu (OSV) |
+24
İ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ıklayın, aynı araştırmacının diğer kayıtlarını görün.
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
- 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ü
- Yerel
- Karmaşıklık
- Düşük
- Gereken yetki
- Düşük
- 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-416 · Use After FreeCVSS vektörü
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
nvd-primary
Kök neden
Bir bellek alanı serbest bırakıldıktan sonra ona işaret eden başka bir referans kullanılmaya devam ediyor. Aynı alan o sırada başka bir veri için ayrılmış olabilir.
Hatanın kod karşılığı
CWE-416 sınıfının tamamıBu zafiyet sınıfının temsili örneği. Üreticinin kaynak kodu değildir; hatalı kalıbı ve düzeltmesini gösterir.
Hatalı
free(dev->buf);/* ... başka bir iş parçacığı hâlâ çalışıyor ... */process(dev->buf);Düzeltilmiş
lock(&dev->lock);free(dev->buf);dev->buf = NULL;unlock(&dev->lock);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
Tüm referansları göster (3 daha)Daha az göster
Üretici bildirimleri ve resmî kayıtlar. İstismar/PoC bağlantıları bilinçli olarak dışarıda bırakıldı.