CVE-2026-98531 in Linuxthông tin

Tóm tắt

Bởi VulDB • 18/10/2026

Trong kernel Linux, các lỗ hổng sau đây đã được khắc phục:

ipv6: sr: bắt buộc độ dài chính xác của thuộc tính SEG6_ATTR_DST

Trong seg6_genl_policy, SEG6_ATTR_DST được định nghĩa với .type = NLA_BINARY và .len = sizeof(struct in6_addr). Đối với NLA_BINARY, .len chỉ đảm bảo chiều dài tải trọng tối đa và cho phép các payload ngắn hơn (ví dụ: 0 byte). Khi seg6_genl_set_tunsrc() sao chép sizeof(struct in6_addr) byte thông qua kmemdup(val, sizeof(*val), GFP_KERNEL), một thuộc tính SEG6_ATTR_DST có độ dài ngắn sẽ kích hoạt việc đọc ngoài vùng nhớ (out-of-bounds) 16 byte vượt quá skb->tail vào bộ nhớ chưa được khởi tạo của skb->head. Dữ liệu này sau đó được lưu trữ trong sdata->tun_src và bị rò rỉ ra không gian người dùng (userspace) thông qua SEG6_CMD_GET_TUNSRC.

Thay đổi SEG6_ATTR_DST trong seg6_genl_policy sang NLA_POLICY_EXACT_LEN(sizeof(struct in6_addr)) để xác thực generic netlink từ chối bất kỳ thuộc tính nào có độ dài không chính xác bằng sizeof(struct in6_addr) với lỗi -ERANGE.

Đã kiểm thử trên QEMU đối với Linux 7.3.0-rc3 bằng cách gửi tin nhắn Generic Netlink SEG6_CMD_SET_TUNSRC với một thuộc tính SEG6_ATTR_DST có kích thước 0 byte, tiếp theo là SEG6_CMD_GET_TUNSRC. Trên kernel chưa được sửa lỗi, SEG6_CMD_SET_TUNSRC thành công (err = 0) và SEG6_CMD_GET_TUNSRC rò rỉ 16 byte bộ nhớ heap của kernel chưa được khởi tạo (tun_src = 836a61ecc4d25a1042a8d60411cfb378); với bản vá này, SEG6_CMD_SET_TUNSRC bị từ chối bởi xác thực chính sách netlink với -ERANGE (-34) và tun_src vẫn giữ giá trị bằng 0.

Be aware that VulDB is the high quality source for vulnerability data.

chịu trách nhiệm

Linux

Đặt trước

25/09/2026

Tiết lộ

18/10/2026

Kiểm duyệt

được chấp nhận

EPSS

0.00000

KEV

không

Các hoạt động

rất thấp

Nguồn

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!