W systemie Open Robotics ROS2 (wersja humble) odkryto krytyczną podatność typu heap overflow w procesie nav2_amcl. Atakujący może wywołać błąd bez uwierzytelnienia, wysyłając spreparowaną wiadomość do komponentu /initialpose, co zagraża integralności i dostępności systemu.
▸ Pokaż oryginał (EN)
Open Robotics Robotic Operating System 2 (ROS2) and Nav2 humble version was discovered to contain a heap overflow in the nav2_amcl process. This vulnerability is triggered via sending a crafted message to the component /initialpose.
Podatność polega na przepełnieniu bufora na stercie (heap overflow, CWE-787, CWE-120) w procesie nav2_amcl, który odpowiada za lokalizację robota metodą Monte Carlo. Atakujący wysyła spreparowaną wiadomość sieciową do tematu ROS2 /initialpose, co powoduje zapis danych poza granicami przydzielonego bufora na stercie. Ze względu na brak wymagań dotyczących uwierzytelnienia oraz niską złożoność ataku, exploit może być przeprowadzony zdalnie bez żadnych uprawnień.
Skuteczne wykorzystanie podatności może umożliwić atakującemu zdalne wykonanie kodu (RCE), spowodowanie awarii procesu nawigacji robota lub przejęcie kontroli nad systemem — co w środowiskach robotycznych może prowadzić do fizycznych konsekwencji. Podatność zapewnia pełny wpływ na poufność, integralność i dostępność systemu (CVSS C:H/I:H/A:H).
Należy zastosować patche dostępne u producenta zgodnie z referencjami — pull request naprawczy dostępny jest w repozytorium ros-navigation/navigation2 (PR #4301). Zaleca się również ograniczenie dostępu sieciowego do tematu /initialpose wyłącznie do zaufanych nadawców za pomocą mechanizmów kontroli dostępu lub firewall na poziomie sieci.
Open Robotics Robot Operating System 2 (ROS2) oraz Nav2 w wersji humble
Podatność została zgłoszona w ramach projektu GoesM/ROS-CVE-CNVDs. Pull request naprawczy (navigation2/pull/4301) oraz powiązane zgłoszenia błędów (issues #4307 i #4294) dostępne są publicznie w repozytorium projektu Nav2.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HOpenrobotics Robot Operating System
APPOpenrobotics2
Powiązane podatności
Use-after-free w ROS2 Nav2 — zdalny atak przez zmianę parametru AMCL
Use-after-free w ROS2 Nav2 humble poprzez proces nav2_amcl
Use-after-free w ROS2 Nav2 — zdalny atak przez parametr /amcl z_rand
Use-after-free w ROS2 Nav2 humble — zdalny exploit przez nav2_amcl
Use-after-free w ROS2 Nav2 humble via proces nav2_amcl