CVE-2026-45844 in Linuxthông tin

Tóm tắt

Bởi VulDB • 27/05/2026

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

netfilter: arp_tables: sửa lỗi phân tích tải trọng ARP IEEE1394

Weiming Shi cho biết:

"arp_packet_match() phân tích tải trọng ARP một cách không điều kiện, giả định rằng có hai địa chỉ phần cứng tồn tại (nguồn và đích). Tuy nhiên, ARP IPv4-over-IEEE1394 (RFC 2734) bỏ qua trường địa chỉ phần cứng đích, và arp_hdr_len() đã tính toán điều này bằng cách trả về độ dài ngắn hơn cho các thiết bị ARPHRD_IEEE1394.

Kết quả là, trên các giao diện IEEE1394, arp_packet_match() vượt qua địa chỉ phần cứng đích không tồn tại và đọc các byte sai cho cả việc so sánh địa chỉ thiết bị đích và địa chỉ IP đích. Điều này khiến các quy tắc arptables khớp với dữ liệu rác, dẫn đến các quyết định lọc không chính xác: các gói tin đáng lẽ phải được chấp nhận có thể bị loại bỏ và ngược lại.

Lớp ARP trong net/ipv4/arp.c (arp_create và arp_process) đã xử lý đúng tình huống này bằng cách bỏ qua địa chỉ phần cứng đích cho ARPHRD_IEEE1394. Áp dụng cùng mẫu mã này cho arp_packet_match()."

Mangle bản vá gốc để luôn trả về 0 (không khớp) trong trường hợp người dùng khớp với địa chỉ phần cứng đích, vốn không bao giờ tồn tại trong IEEE1394.

Lưu ý rằng điều này trả về 0 (không khớp) cho cả phép khớp bình thường và phép khớp nghịch đảo, vì việc khớp với địa chỉ phần cứng đích trong ARPHRD_IEEE1394 chưa bao giờ được arptables hỗ trợ. Điều này là có chủ đích; việc khớp với địa chỉ phần cứng đích không bao giờ nên đánh giá là đúng (true) đối với ARPHRD_IEEE1394.

Hơn nữa, điều chỉnh arpt_mangle để loại bỏ gói tin như AI đề xuất:

Trong arpt_mangle, logic giả định một bố cục ARP tiêu chuẩn. Vì IEEE1394 (FireWire) bỏ qua địa chỉ phần cứng đích, việc tính toán con trỏ tuyến tính đã tính sai độ lệch cho địa chỉ IP đích. Điều này khiến các thao tác mangle ghi vào vị trí sai, dẫn đến hỏng gói tin. Để đảm bảo an toàn, bản vá này loại bỏ các gói tin (NF_DROP) khi yêu cầu mangle cho các trường này trên các thiết bị IEEE1394, vì triển khai hiện tại không thể ánh xạ chính xác tải trọng ARP FireWire.

Điều này bỏ qua cả việc mangle địa chỉ phần cứng đích và địa chỉ IP. Ngay cả khi việc mangle địa chỉ IP có thể khả thi trong IEEE1394, điều này sẽ yêu cầu điều chỉnh việc tính toán độ lệch trong arpt_mangle, vốn chưa bao giờ được hỗ trợ.

Dựa trên bản vá từ Weiming Shi.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

chịu trách nhiệm

Linux

Đặt trước

13/05/2026

Tiết lộ

27/05/2026

Kiểm duyệt

được chấp nhận

EPSS

0.00037

KEV

không

Các hoạt động

rất thấp

Nguồn

Do you need the next level of professionalism?

Upgrade your account now!