Šta se desilo?

Otkrivena je kritična ranjivost u LeRobot-u, okviru za mašinsko učenje korišćenom za robotiku, koji razvija Hugging Face. Ranjivost omogućava napadačima koji nisu autentifikovani da izvršavaju proizvoljne komande na računarima na kojima radi osetljiva aplikacija. Problem je u tome što komponente PolicyServer i RobotClient koriste nesiguran Python pickle format za deserijalizaciju podataka koji stižu preko nezaštićenih gRPC kanala.

Koga pogađa?

Ogroženi su svi korisnici LeRobot verzija do 0.5.1, posebno organizacije koje koriste ovaj okvir za razvoj robotskih sistema i AI infrastrukture. Rizik je posebno veliki jer AI serveri obično rade sa povećanim privilegijama, što napadačima omogućava da preuzmu potpunu kontrolu nad sistemom i pristupe osjetljivim podacima.

Kako se zaštititi?

  • Ograniči pristup mreži - osiguraj da LeRobot async inference server nikada nije dostupan iz neprepoznatih mreža ili javnog interneta
  • Poveži server isključivo na localhost umesto na 0.0.0.0 kako bi se zablokirali svi spoljašnji pokušaji pristupa
  • Primeni snažne API gateway-e, VPN-e i mrežne firewall-e koji će forsirati autentifikaciju pre nego što saobraćaj stigne do gRPC porta
  • Čekaj na ažuriranje na verziju 0.6.0 koja će zameniti pickle sa bezbednim formatima poput safetensors i JSON

Tehnički detalji

Ranjivost je evidentiirana kao CVE-2026-25874 sa CVSS skorom od 9.3 (kritična). Problem leži u insecure pickle deserijalizaciji u async inference modulu. Komponente koriste Python pickle modul za obradu podataka primljenih preko unauthenticated gRPC kanala. Pošto gRPC server koristi add_insecure_port() bez TLS zaštite ili autentifikacije, bilo ko sa mrežnim pristupom može se direktno povezati. Napadač može poslati zlonameran serijalizovan payload preko RPC handler-a kao što su SendPolicyInstructions ili SendObservations, što aktivira automatsko izvršavanje proizvoljnog koda tokom pickle.loads() procesa, pre bilo kakve validacije podataka. Istraživači iz Chocapikk-a otkrivili su dodatno problem - izvorni kod je sadržao #nosec tagove pored pickle.loads() poziva kako bi se suprimir automatska bezbednosna upozorenja.

Preporuka Sajber Radara

Ako koristi LeRobot u produkciji, odmah primeni mrežne mere zaštite i izoluj inference servere od nezaverenih mreža. Aktivno monitoruj objave proizvođača za verziju 0.6.0 koja će doneti trajno rešenje problema.