Executive brief
EGO-Planner-v2 is a multi-agent UAV planning and control system used to coordinate autonomous flying robots. A logic error in collision-detection code allows stale trajectory data to cause safety checks to be silently skipped, preventing the system from detecting obstacles and other UAVs and failing to trigger avoidance actions. This can result in collisions, mission failure, or loss of the aircraft.
Technical details
The vulnerability is a denial-of-service condition in EGOReplanFSM::checkCollisionCallback() caused by improper handling of stale trajectory and safety-checking data. When local trajectory and collision-check points (local_traj and pts_chk) are not updated in time, the computed current execution time (t_cur) can exceed the valid range of the stale data. The callback fails to detect this condition and either returns early or skips the look-ahead safety checking loop entirely, bypassing obstacle detection, swarm-distance checks, replanning, and emergency-stop logic. No user interaction or authentication is required; the condition is triggered by timing during normal system operation. An attacker with the ability to control or delay trajectory updates could exploit this to cause a UAV to collide with obstacles or other aircraft.
Affected products
- ZJU-FAST-Lab EGO-Planner-v2 all versions up to commit 5c99a95880401e2599638d567abc0e240396cb42
Timeline
- 2026-09-10: disclosed