Apa yang terjadi
Server web pengembangan ADK di Google ADK untuk Java menerima permintaan WebSocket dan REST dari origin mana pun dan tidak membawa autentikasi. Karena server terikat ke localhost tetapi permintaan berasal dari browser pengembang, halaman berbahaya dapat mengendalikan agen yang berjalan lokal, memanggil alatnya, serta membaca atau memodifikasi sesi dan artefak. Diperbaiki di 1.13.0. CVSS 7.2, diterbitkan 2026-10-23.
Mengapa penting
Pengambilalihan agen browser-ke-localhost: kerangka kerja agen AI yang server pengembangnya dapat dikendalikan secara diam-diam oleh halaman mana pun yang dikunjungi pengembang saat mengembangkan. Agen menjalankan alat dengan hak istimewa dan konteks pengembang, sehingga ini memungkinkan penyalahgunaan alat, pencurian sesi/artefak, dan tindakan agen yang tidak sah tanpa menyentuh kode agen itu sendiri.
Vektor serangan
Endpoint WebSocket /run_live menerima koneksi dari origin mana pun (setAllowedOrigins("*") yang di-hardcode di ≤1.5.0, default * melalui adk.web.cors.origins di 1.6.0–1.12.0), dan API REST mengembalikan Access-Control-Allow-Origin: * secara default. Karena server tidak memiliki autentikasi dan permintaan berasal dari browser pengembang, halaman lintas-origin dapat mengirim pesan ke agen, memicu alat, mengalirkan respons, serta membaca/mengelola sesi dan artefak. Di 1.6.0–1.12.0 atur adk.web.cors.origins ke daftar izin eksplisit.
Sistem yang terdampak
com.google.adk:google-adk-dev 0.1.0 sebelum 1.13.0; com.google.adk:google-adk-maven-plugin 0.3.0 sebelum 1.13.0
Mitigasi
Tingkatkan ke google-adk-java 1.13.0 (memberlakukan default same-origin untuk CORS dan /run_live, menolak DNS-rebinding melalui loopback). Untuk 1.6.0–1.12.0 atur adk.web.cors.origins ke daftar izin eksplisit origin tepercaya; jangan berselancar saat server agen pengembangan berjalan.