tpm: Make the TPM character devices non-seekable
In the Linux kernel, the following vulnerability has been resolved: tpm: Make the TPM character devices non-seekable The TPM character devices expose a sequential command/response interface, but their open handlers leave FMODE_PREAD and FMODE_PWRITE enabled. After a command leaves a response pending, pread(fd, buf, 16, 0x1400) passes 0x1400 as *off to tpm_common_read(). The transfer length is bounded by response_length, but the offset is used unchecked when forming data_buffer + *off. A sufficiently large offset therefore causes an out-of-bounds heap read through copy_to_user() and, if the copy succeeds, an out-of-bounds zero-write through the following memset(). Positional I/O does not provide coherent semantics for this interface. An arbitrary pread offset cannot represent how much of a response has been consumed sequentially. The write callback always stores a command at the start of data_buffer, while pwrite() does not update file->f_pos and can leave the sequential read cursor stale. Call nonseekable_open() from both open handlers. This removes FMODE_PREAD and FMODE_PWRITE, causing positional reads and writes to fail with -ESPIPE before reaching the TPM callbacks, and explicitly marks the files non-seekable. Normal read() and write() continue to use the existing sequential f_pos cursor, leaving the response state machine unchanged. Tested on Linux 6.12 with KASAN and a swtpm TPM2 device: - sequential partial reads returned the complete response - pread() and preadv() with offset 0x1400 returned -ESPIPE - pwrite() and pwritev() with offset zero returned -ESPIPE - the pending response remained intact after the rejected operations - a subsequent normal command/response cycle completed normally - no KASAN report was produced.
- Yayın
- 15 Ağu 2026
- Güncelleme
- 17 Ağu 2026
- EPSS
- %0,2 · 6. 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
31
İzleyin
Şimdilik düşük öncelik.
- CVSS
- 31 / 40 · 7.8 / 10
- CISA KEV
- 0 / 30 · Listede değil
- EPSS
- 0 / 30 · %0,2
CNA ile NVD puanı
- NVD
- —
- CNA · Linux
- 7,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.
Etkilenen sistemler
—
Ü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
- 5.0etkilenir
- 9488585b21bef0df1217e510c7134905d1d376a7 ve sonrası · ed0ffc2c016629e40ba041ed0424a772d8b02e2c öncesietkilenir · git
- 9488585b21bef0df1217e510c7134905d1d376a7 ve sonrası · 232dcf908eb7eb9d8046a9597975caf44270966e öncesietkilenir · git
- 9488585b21bef0df1217e510c7134905d1d376a7 ve sonrası · dda695fab5e21f923d29e8cb01df256468ddfbd1 öncesietkilenir · git
- 9488585b21bef0df1217e510c7134905d1d376a7 ve sonrası · 9c513dabd4540f811585a2087f23069767a284da öncesietkilenir · git
- 9488585b21bef0df1217e510c7134905d1d376a7 ve sonrası · 21a13f932972bc9836f58c44fcd47c62abdecd95 öncesietkilenir · git
- 9488585b21bef0df1217e510c7134905d1d376a7 ve sonrası · ada4b9a5087ea7f30dd8e4c6411a4fb6547eb1ed öncesietkilenir · git
- 9488585b21bef0df1217e510c7134905d1d376a7 ve sonrası · 947b773caaa548672184df025271b29bdc80b0f1 öncesietkilenir · git
- 9488585b21bef0df1217e510c7134905d1d376a7 ve sonrası · f20d61c22bcaf172d6790b6500e3838e532e71c8 öncesietkilenir · git
- 5.0 ö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 |
|---|---|---|---|
| Debian:12 | linux | 6.1.180-1 öncesi | 6.1.180-1 |
| Debian:13 | linux | 6.12.100-1 öncesi | 6.12.100-1 |
| Debian:14 | linux | 7.1.5-1 öncesi | 7.1.5-1 |
Aynı üründe
linux: tüm kayıtlarAynı birincil ürünün en yüksek skorlu diğer kayıtları.
- CVE-2026-74705udp: fix potential use-after-free in tunnel segmentation40Planlayın
- CVE-2026-74612veth: fix skb length accounting after XDP frag adjustment40Planlayın
- CVE-2026-74475vxlan: use neigh_ha_snapshot() in route_shortcircuit()40Planlayın
- CVE-2026-74309vdpa/octeon_ep: fix IRQ-to-ring mapping in interrupt handler40Planlayın
- CVE-2026-74280crypto: marvell/octeontx - fix DMA cleanup using wrong loop index40Planlayın
- CVE-2026-74279crypto: cavium/cpt - fix DMA cleanup using wrong loop index40Planlayın
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 | 21a13f932972bc9836f58c44fcd47c62abdecd95 | Üretici (CNA) |
| Linux Linux | 232dcf908eb7eb9d8046a9597975caf44270966e | Üretici (CNA) |
| Linux Linux | 947b773caaa548672184df025271b29bdc80b0f1 | Üretici (CNA) |
| Linux Linux | 9c513dabd4540f811585a2087f23069767a284da | Üretici (CNA) |
| Linux Linux | ada4b9a5087ea7f30dd8e4c6411a4fb6547eb1ed | Üretici (CNA) |
| Linux Linux | dda695fab5e21f923d29e8cb01df256468ddfbd1 | Üretici (CNA) |
| Linux Linux | ed0ffc2c016629e40ba041ed0424a772d8b02e2c | Üretici (CNA) |
| Linux Linux | f20d61c22bcaf172d6790b6500e3838e532e71c8 | Üretici (CNA) |
| debian:linux | 6.1.180-1 · Debian:12 | Paket deposu (OSV) |
İ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
- 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)
—
CVSS vektörü
CVSS:3.1/AV:L/AC:L/PR:L/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.
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/21a13f932972bc9836f58c44fcd47c62abdecd95
- git.kernel.org/stable/c/232dcf908eb7eb9d8046a9597975caf44270966e
- git.kernel.org/stable/c/947b773caaa548672184df025271b29bdc80b0f1
- git.kernel.org/stable/c/9c513dabd4540f811585a2087f23069767a284da
- git.kernel.org/stable/c/ada4b9a5087ea7f30dd8e4c6411a4fb6547eb1ed
- git.kernel.org/stable/c/dda695fab5e21f923d29e8cb01df256468ddfbd1
- git.kernel.org/stable/c/ed0ffc2c016629e40ba041ed0424a772d8b02e2c
- git.kernel.org/stable/c/f20d61c22bcaf172d6790b6500e3838e532e71c8
Üretici bildirimleri ve resmî kayıtlar. İstismar/PoC bağlantıları bilinçli olarak dışarıda bırakıldı.