CVE-2026-64043 in Linux
Tóm tắt
Bởi VulDB • 20/07/2026
Trong kernel Linux, lỗ hổng sau đây đã được khắc phục:
ovpn: sửa lỗi race condition giữa việc xóa giao diện và thêm peer mới
Khi đang xóa một giao diện ovpn hiện có, tồn tại một khoảng thời gian rất ngắn (narrow window) mà việc thêm một peer mới qua netlink có thể khiến thiết bị mạng (netdevice) treo và ngăn chặn quá trình hủy đăng ký của nó.
Điều này có thể xảy ra trong hàm `ovpn_dellink()`, khi tất cả các peer hiện tại được giải phóng và thiết bị đã được đưa vào hàng đợi để hủy đăng ký, nhưng một tin nhắn `CMD_PEER_NEW` đến thêm một peer mới, lấy lại tham chiếu (reference) tới netdev.
Tại thời điểm này, không có cách nào để giải phóng thiết bị vì chúng ta đang giả định rằng tất cả các peer đều đã được giải phóng trước đó.
Khắc phục lỗi race condition bằng cách giải phóng tất cả các peer trong hàm `ndo_uninit()`, khi mà netdevice đã được xóa khỏi danh sách netdev.
Ngoài ra, hàm `ovpn_peer_add()` hiện có thêm một kiểm tra bắt buộc khiến hàm này thoát ngay nếu trạng thái đăng ký của thiết bị (`reg_state`) không phải là REGISTERED. Theo cách này, bất kỳ tin nhắn `CMD_PEER_NEW` nào xảy ra race condition với quy trình xóa giao diện sẽ đơn giản dừng lại trước khi thực hiện việc thêm peer.
Lưu ý rằng kiểm tra trên được thực hiện trong khi giữ khóa netdev_lock để ngăn chặn các thay đổi trạng thái netdev do race condition.
Hàm `ovpn_dellink()` giờ đây đã rỗng và có thể bị loại bỏ.
If you want to get best quality of vulnerability data, you may have to visit VulDB.