Zafiyet.live Keşfet. Değerlendir. Düzelt. Doğrula.
  • Son 7 gün

CVE-2026-98988

Linux çekirdeğinde OPEN_TREE_NAMESPACE, örtülü bağlama noktalarının gizli içeriğini ifşa edebiliyor

Linux

Yüksek 8,8 CVSS 3.1
Yayımlandı
Güncellendi
24 Eki 2026
Açık yaşı
5 gün
Kaydı açan
Linux

ÖzetTürkçe

Linux çekirdeğinde, open_tree(OPEN_TREE_NAMESPACE) ile oluşturulan yeni bağlama ad alanında örtülü bağlama noktalarının korunmaması sorunu giderildi. open_tree(OPEN_TREE_NAMESPACE) işlemi, verilen yoldaki ağacın bir kopyasından yeni bir bağlama ad alanı oluşturur. Çağıranın, yeni bağlama ad alanına sahip olacak mevcut kullanıcı ad alanı üzerinde ayrıcalıklı olması gerekir, ancak kopyalanan kaynak bağlama ad alanı üzerinde ayrıcalıklı olması gerekmez. Ayrıcalıksız bir kullanıcı, önce bir kullanıcı ad alanı oluşturarak bu koşulu sağlayabilir. Kopyalama, ayrık bir bind bağlama kurallarını izler: AT_RECURSIVE olmadan yalnızca bağlama noktasının kendisi kopyalanır; AT_RECURSIVE ile bağlanamaz (unbindable) bağlama noktaları atlanır. Kaynak bağlama ad alanı üzerinde ayrıcalıklı olan çağıran için bu davranış sorun değildir, çünkü zaten bu bağlama noktalarını ayırabilir. Ancak kaynak üzerinde ayrıcalığı olmayan bir kullanıcı için bu, unshare ile yapılan tam bağlama ad alanı kopyasıyla aynı değildir. create_new_namespace yalnızca kilitleme işlemi yaptığından, örtülü içerik yeni bağlama ad alanında erişilebilir durumda kalır ve ayrıcalıksız kullanıcı bu içeriği okuyabilir. Yolların üzerine bağlama noktaları monte edilmesi, konteyner çalışma zamanlarının /proc ve /sys bölümlerini maskelemek ve yöneticilerin bazı öğeleri gizlemek için kullandığı bir yöntemdir. Düzeltmeye göre, çağıranın kullanıcı ad alanı kaynak bağlama ad alanı kopyasına sahip değilse, belirtilen dizinin altına bağlama noktası eklenmiş bir bağlamanın özyinelemeli olmayan kopyası reddedilir ve özyinelemeli kopyada bağlanamaz bağlama noktaları kopyalanır. Kaynak bağlama ad alanı üzerinde ayrıcalıklı olan çağıran için bir değişiklik yoktur. Etkilenen sürüm: Linux 7.0 (7.2.11 öncesi ve dahil olmayan sürümler etkilenmez). CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H, puan 8.8 (YÜKSEK).

Kaynaktaki açıklama (İngilizce)

In the Linux kernel, the following vulnerability has been resolved:

namespace: keep covered mounts covered in OPEN_TREE_NAMESPACE

open_tree(OPEN_TREE_NAMESPACE) creates a new mount namespace from a
copy of the tree at the given path. The caller needs to be privileged
over its current user namespace because the new mount namespace will be
owned by it. It doesn't need to be privileged over the mount namespace
the tree is copied from. An unprivileged user just needs to create a
user namespace first.

The copy follows the rules of a detached bind mount. Without
AT_RECURSIVE only the mount itself is cloned and its children are left
out. With AT_RECURSIVE unbindable mounts are skipped. Both is fine when
the caller has privileges over the source mount namespace because it
could unmount those mounts anyway. Not so for an unprivileged user in
that mount namespace. For them a mount namespace copy is what unshare()
does. copy_mnt_ns() copies everything including unbindable mounts and
lock_mnt_tree() makes sure nothing can be unmounted in the copy. Nothing
that was covered gets revealed.

create_new_namespace() only does the locking and so the covered content
is right there in the new mount namespace:

# mount -t tmpfs none /tmp/otn; mkdir /tmp/otn/covered
# echo hidden > /tmp/otn/covered/under.txt
# mount -t tmpfs none /tmp/otn/covered

uid 1000, after unshare(CLONE_NEWUSER):
fd = open_tree(AT_FDCWD, "/tmp/otn", OPEN_TREE_NAMESPACE);
setns(fd, CLONE_NEWNS);
open("/covered/under.txt", O_RDONLY) -> "hidden"

Covering paths with mounts is how container runtimes mask parts of
/proc and /sys and how admins hide things.

When the caller's user namespace doesn't own the source mount namespace
copy the way unshare() does and refuse a non-recursive copy of a mount
that has anything mounted below the requested directory and copy
unbindable mounts in a recursive copy. A caller that is privileged over
the source mount namespace sees no change.

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ımEtkilenenDüzeltildiği sürüm
Linux 7.0 –
< 7.0 Etkilenmiyor –
≥ 7.2.11 Etkilenmiyor –

Kaynaklar4 kaynak

Kayıt geçmişi

  1. 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.