Apa yang terjadi
Gelombang advisory besar yang diperbaiki di PraisonAI 4.6.59–4.6.61 mengatasi beberapa cacat tinggi/CVSS 7.2–8.8: bypass persetujuan manusia di alur persetujuan Discord dan HTTP, handler app_mention Slack yang melewati kebijakan allow-list, rahasia webhook LinearBot opsional-wajib pada listener 0.0.0.0, jalur native() SandlockSandbox yang melemahkan sandbox kernel, injeksi perintah shell di operasi berkas compute-bridging, path traversal pada template loader/cache, bypass kebijakan alat berbahaya, alat Dynamic Context berbasis filesystem yang menghormati jalur run_id/agent_id/artefak arbitrer, streaming peristiwa A2U tanpa autentikasi, dan celah pengikatan validasi webhook.
Mengapa penting
Ini adalah mode kegagalan lapisan orkestrasi dari penerapan multi-agen: persetujuan manusia dapat dipalsukan atau disuntikkan, webhook bot dapat diakses siapa saja, sandbox dapat ditarik, dan argumen yang diarahkan penyerang dapat menelusuri filesystem atau menjalankan perintah shell. Bersama-sama, ini menunjukkan bahwa UX persetujuan agen dan penegakan kebijakan adalah kontrol batas yang tidak boleh dipercaya sebagai penguatan.
Vektor serangan
Agregat: (a) DiscordApproval menyetujui panggilan alat berbahaya yang tertunda ketika pesan non-bot berikutnya di saluran diklasifikasikan sebagai 'ya' (CVE-2026-56832); (b) HTTPApproval merender argumen alat yang dikendalikan penyerang langsung ke HTML dasbor persetujuan → injeksi JavaScript ke halaman persetujuan yang dibuka manusia (CVE-2026-56840); (c) Bot Slack menerapkan kebijakan allowed_users/allowed_channels di handler pesan tetapi tidak di handler app_mention yang berdekatan (CVE-2026-56835); (d) LinearBot memulai listener webhook publik di 0.0.0.0 dan memperlakukan LINEAR_WEBHOOK_SECRET sebagai opsional, sehingga verifikasi tanda tangan dilewati (CVE-2026-56837); (e) jalur native() SandlockSandbox memungkinkan pemanggil mengonfigurasi jalur filesystem/jaringan yang diizinkan, merusak sandbox yang diberlakukan kernel (CVE-2026-57144); (f) compute bridging LocalManagedAgent/SandboxedAgent mengubah read_file/list_files/write_file menjadi string perintah shell melalui pemformatan mentah → injeksi perintah (CVE-2026-57117); (g) template loader menyimpan jalur/ref template GitHub yang dikendalikan pengguna apa adanya dan lapisan cache menggabungkannya ke jalur → path traversal (CVE-2026-57113); (h) kebijakan alat berbahaya eksekusi resep hanya memeriksa alat yang dideklarasikan di TEMPLATE dan dapat dilewati (CVE-2026-56838 / 57142); (i) alat Dynamic Context menerima run_id/agent_id dari pemanggil alat untuk membangun jalur filesystem (CVE-2026-56833 / 56834); (j) aliran peristiwa A2U dan rute langganan tetap tanpa autentikasi (CVE-2026-57146); (k) validasi webhook Async Jobs untuk target loopback/private tidak terikat pada permintaan (CVE-2026-57114); (l) anggota ruang kerja dapat menghapus permanen sumber daya apa pun yang dibuat oleh pemilik atau anggota lain (CVE-2026-57121); (m) dispatcher perintah resep konsol yang dipasang mengarah ke jalur Typer yang sudah usang (CVE-2026-56836).
Sistem yang terdampak
PraisonAI (MervinPraison) 3.8.1–4.5.x hingga sebelum 4.6.59/4.6.61; praisonai-platform (workplace) 0.1.4 hingga sebelum 0.1.5
Mitigasi
Tingkatkan PraisonAI ke 4.6.59–4.6.61 (dan praisonai-platform ke 0.1.5). Untuk setiap masalah, GHSA masing-masing (GHSA-8579-rgg5-ph2m, GHSA-63v4-w882-g4x2, GHSA-qvpf-j64c-jmhr, GHSA-fc26-m9pf-v56q, GHSA-6jcq-6546-qrrw, GHSA-w6h2-fr4q-xvxv, GHSA-f44v-7qgw-9gh9, GHSA-v847-hxxw-3pxg, GHSA-7qw2-w5rc-37x2, GHSA-22cj-m4wf-fv2c, GHSA-j7qx-p75m-wp7g, GHSA-jxcw-qp4h-6jfq, GHSA-rjvw-7vvw-549v, GHSA-rh39-9c67-59mh, GHSA-5qw8-f2g9-ff29). Jangan ekspos permukaan bot/webhook/sandbox tanpa autentikasi; minta allow_dangerous_tools eksplisit dan rahasia webhook.