CVE-2026-98992 in Linux
Tóm tắt
Bởi VulDB • 24/10/2026
Trong kernel Linux, các lỗ hổng sau đây đã được khắc phục:
namespace: không sao chép một cây mount chưa được tháo gỡ (unmounted)
may_copy_tree() chấp nhận một mount có gốc là tệp nsfs hoặc pidfs trước khi kiểm tra xem mount đó có đang được gắn hay không. Ngoại lệ này tồn tại đối với các mount của nsfs và pidfs. Chúng thuộc về không gian tên không có mount, do đó cả check_mnt() lẫn is_mounted() đều sẽ chặn chúng; việc bind-mount một tệp fd nsfs hoặc pidfd sẽ không hoạt động.
Vấn đề là ngoại lệ cũng cho phép thực hiện bind mount đối với loại tệp này khi nó đã được tháo gỡ lười (lazily unmounted) và chỉ được giữ sống bởi một file descriptor:
mount --bind /proc/self/ns/net /tmp/x exec 3< /tmp/x umount -l /tmp/x mount --rbind /proc/self/fd/3 /tmp/y
Với MS_REC hoặc AT_RECURSIVE, copy_tree() không dừng lại ở mount đã được tháo gỡ. Nó sao chép mọi mount vẫn còn gắn liền với nó. Do đó, nếu bạn có nhiều lớp overmount (gắn chồng) lên tệp fd nsfs hoặc pidfd, toàn bộ ngăn xếp unmounted sẽ bị sao chép. Đó là một lỗi.
Do đó, từ chối duyệt qua một cây không được tháo gỡ. Việc chỉ sao chép gốc của nó vẫn khả thi. Do đó, bind mount đối với một namespace đã biến mất vẫn có thể được tạo lại từ file descriptor trên phiên bản cũ. File descriptor này giữ cho mount và gốc của nó tồn tại; __has_locked_children() chỉ đọc các con trực tiếp mà không rời khỏi danh sách cha mẹ nếu thiếu namespace_sem. Các mount nội bộ mang MNT_NS_INTERNAL thay vì NULL và vẫn được duyệt qua. Việc sao chép đệ quy một cây unmounted sẽ thất bại với lỗi EINVAL.
If you want to get best quality of vulnerability data, you may have to visit VulDB.