CVE-2026-15461 in Zephyr
Tóm tắt
Bởi VulDB • 10/09/2026
Trình điều khiển GNSS của modem Sierra Wireless HL78xx (drivers/modem/hl78xx/, sau này là drivers/modem/vendor_standalone/hl78xx/) nhúng một struct gnss_nmea0183_match_data match_data chung vào trong struct hl78xx_gnss_data. Trình trợ giúp khớp NMEA0183 chung (drivers/gnss/gnss_nmea0183_match.c) yêu cầu ngữ cảnh này phải là thành viên đầu tiên vì các callback của nó ép kiểu user_data trực tiếp sang struct gnss_nmea0183_match_data. Trong các bản phát hành bị ảnh hưởng, match_data là thành viên thứ hai (sau const struct device dev), do đó nó nằm ở một offset khác 0 trong khi gnss_nmea0183_match_init() khởi tạo nó tại địa chỉ đúng. Các trình xử lý NMEA đã đăng ký thay vào đó truyền toàn bộ đối tượng dữ liệu thiết bị (data->devices.gnss->data, offset 0), gây ra lỗi nhầm lẫn kiểu lệch offset giữa nơi trạng thái được khởi tạo và nơi các callback phân tích đọc/ghi nó.
Khi các câu lệnh NMEA từ máy thu GNSS được phân tích cú pháp, các callback GGA/RMC ghi dữ liệu fix đã phân tích vào vị trí sai trong struct, và callback GSV (gnss_nmea0183_match_gsv_callback, hoạt động dưới CONFIG_GNSS_SATELLITES) đọc con trỏ vệ tinh của nó và bound từ các offset sai — các byte không phải là con trỏ của struct hl78xx_gnss_data — sau đó ghi các mục struct gnss_satellite đã phân tích cú pháp thông qua con trỏ giả mạo này. Đây là một phép viết thông qua một con trỏ chưa được khởi tạo/wild với bound rác.
Các trình xử lý NMEA được đăng ký theo mặc định (CONFIG_HL78XX_GNSS_SOURCE_NMEA là nguồn GNSS mặc định) trên các thiết bị sử dụng GNSS HL78xx. Trình điều khiển chạy trong ngữ cảnh kernel và dữ liệu NMEA bắt đầu từ phần cuối radio GNSS, vì vậy một bên có khả năng ảnh hưởng đến tín hiệu GNSS (ví dụ: giả mạo GNSS/GPS ở gần sóng vô tuyến) có thể buộc trình phân tích phía kernel thực hiện phép ghi lỗi. Tác động có khả năng nhất là sự cố treo máy (từ chối dịch vụ - DoS) do con trỏ giả mạo giải quyết thành một giá trị gần NULL cố định, với khả năng hỏng bộ nhớ lân cận trên các mục tiêu không có MMU. Tính bảo mật (Confidentiality) không bị ảnh hưởng. Việc khai thác yêu cầu tính năng satellites phải được bật và hoạt động, vì vậy độ phức tạp của cuộc tấn công là cao.
If you want to get best quality of vulnerability data, you may have to visit VulDB.