Executive brief
EGO-Planner-v2 is a path-planning system used to coordinate autonomous micro-flying robots (drones) in swarm operations. A flaw in the emergency recovery mechanism can cause a drone to become permanently stuck in emergency-stop mode after completing a trajectory, rendering it unable to resume normal flight operations and potentially disabling multiple coordinated vehicles in a multi-drone mission.
Technical details
The vulnerability is a denial-of-service deadlock in the interaction between three components: traj_server (trajectory publishing), poscmd_2_odom (odometry conversion), and EGOReplanFSM (finite state machine for emergency recovery). When a trajectory ends, traj_server stops publishing position commands but fails to send a final zero-velocity command. poscmd_2_odom then indefinitely reuses the last PositionCommand (which contains non-zero velocity), causing stale velocity data to persist in the odometry. The FSM's recovery from EMERGENCY_STOP requires velocity norm < 0.1, but this condition is never met because the stale velocity remains latched. This creates a permanent deadlock preventing the planner from resuming trajectory generation. The root cause is inconsistent state handling across trajectory completion, command caching, and recovery logic; no patch information is provided in the advisory.
Affected products
- ZJU-FAST-Lab EGO-Planner-v2 all versions up to commit 5c99a95880401e2599638d567abc0e240396cb42
Timeline
- 2026-09-11: disclosed