flawopen.com/AI Security/cve-2026-103956-aws-loom-authentication-bypass
CVE-2026-103956: bypass autentikasi AWS Loom
CVE-2026-103956 berdampak pada AWS Labs Loom for AWS sebelum versi 1.6.1: tanpa penyedia identitas yang dikonfigurasi, klien jaringan mana pun dapat memperoleh hak superadmin. Tingkatkan ke versi 1.7.0 atau yang lebih baru untuk mencakup celah ini dan perbaikan terkait; versi 1.6.1 sudah menutup bypass autentikasi ini.[1], [5]
Sebuah gedung membiarkan meja resepsinya kosong, tetapi perangkat lunak menganggap setiap pengunjung sebagai administrator tertinggi. Perbaikan menolak akses jika penyedia identitas belum dikonfigurasi; pengecualian pengembangan lokal memerlukan opsi eksplisit dan koneksi dari komputer yang sama.[1], [4]
Konsep Kunci & Istilah
Penyedia identitas (IdP)- Sistem yang dikonfigurasi untuk mengautentikasi pengguna Loom. Kondisi rentan terjadi jika Cognito maupun IdP eksternal tidak dikonfigurasi.[1]
Control plane- Lapisan API dan administrasi untuk mengelola integrasi agen, kredensial, dan kebijakan peran.[1]
Gagal dengan aman- Saat layanan identitas wajib tidak tersedia, permintaan ditolak alih-alih diberi identitas istimewa secara default.[4]
Pemetaan kerangka kerja
Alur Serangan Langkah demi Langkah
Tidak ada penyedia identitas yang dikonfigurasi
Kondisi terdampak sebelum versi 1.6.1 bersifat spesifik: tidak ada user pool Cognito maupun IdP eksternal.[1]
Fallback membuat pengguna berhak istimewa
Jalur rentan get_current_user diam-diam menetapkan t-admin dan g-admins-super, termasuk untuk permintaan tanpa autentikasi.[4]
API memberi kewenangan pada control plane
Klien yang dapat menjangkau jaringan bisa bertindak sebagai superadmin, mendaftarkan server alat, membaca kredensial integrasi tersimpan, atau mengubah kebijakan IAM pada peran agen terkelola. Ini adalah dampak yang dijelaskan vendor, bukan bukti bahwa suatu deployment telah disusupi.[1]
Perbaikan menolak akses secara default
Versi 1.6.1 mensyaratkan LOOM_ALLOW_UNAUTHENTICATED_LOCAL_DEV=true secara eksplisit dan klien loopback untuk pengecualian pengembangan lokal; jika tidak, responsnya HTTP 401. AWS menyarankan versi 1.7.0 atau yang lebih baru untuk buletin yang mencakup tiga masalah.[1], [4], [2], [3]
Matriks cakupan perbaikan versi Loom
| Rentang versi | Bypass autentikasi CVE-2026-103956 | Masalah lain dalam buletin AWS bulan Oktober | Tindakan operator |
|---|---|---|---|
| <1.6.1 | Terdampak jika Cognito maupun IdP eksternal tidak dikonfigurasi; klien jaringan dapat memperoleh akses super-admin. | CVE-2026-103957 dan CVE-2026-103958 adalah masalah terpisah yang juga diperbaiki pada 1.7.0. | Tingkatkan ke 1.7.0 atau yang lebih baru. Versi 1.6.1 hanya merupakan perbaikan minimum untuk bypass ini. |
| 1.6.1–<1.7.0 | Sudah diperbaiki. Tanpa IdP, permintaan mendapat 401 kecuali opsi pengembangan lokal diaktifkan dan klien menggunakan loopback. | AWS mencantumkan dua masalah terkait sebagai diperbaiki pada 1.7.0. | Tingkatkan ke 1.7.0 atau yang lebih baru untuk mencakup seluruh buletin. |
| 1.7.0 atau yang lebih baru | Sudah diperbaiki. | AWS menyatakan 1.7.0 menyelesaikan ketiga masalah dalam buletin. | Jalankan Loom dan fork pada versi yang didukung serta pastikan perbaikannya ikut diterapkan. |
Analisis Akar Masalah (Root Cause)
Saat kumpulan pengguna Cognito maupun penyedia identitas eksternal tidak dikonfigurasi, fallback pada dependensi autentikasi diam-diam menetapkan t-admin dan g-admins-super, bukan menolak permintaan. API kemudian menganggap identitas fallback itu sudah terautentikasi, sehingga klien jaringan yang dapat menjangkau backend bisa memperoleh wewenang super-admin pada control plane. Perbaikan menolak akses secara default; pengecualian pengembangan lokal memerlukan opt-in eksplisit dan klien loopback. Catatan CVE mengaitkan masalah ini dengan CWE-306 (autentikasi tidak ada untuk fungsi kritis) dan CWE-1188 (inisialisasi dengan nilai default yang tidak aman).[1], [4], [7]
Kode Sumber: Rentan vs Aman
Potongan rentan merangkum penjelasan maintainer tentang get_current_user: tanpa Cognito maupun IdP eksternal, jalur tersebut diam-diam memberikan t-admin / g-admins-super. Versi yang diperkuat merangkum perilaku upstream yang telah digabung, bukan kutipan sumber secara verbatim: pengecualian lokal memerlukan opsi eksplisit dan klien loopback; permintaan lain gagal dengan HTTP 401. Catatan deployment FlawOpen: Di produksi, percayai request.client hanya jika konfigurasi proxy mencegah header terusan yang tidak tepercaya mengaku sebagai loopback. Tingkatkan ke 1.6.1 atau lebih baru untuk memperbaiki CVE ini, dan ke 1.7.0 atau lebih baru untuk mencakup seluruh buletin Oktober 2026. Contoh ini tidak memuat permintaan eksploitasi ataupun prosedur untuk mengakses kredensial.[4], [1]
# Alur kontrol sederhana yang dilaporkan pada jalur get_current_user yang terdampak
if not cognito_pool and not external_idp:
return User(username="t-admin", groups=["g-admins-super"])
return await authenticate_with_configured_idp(token)
# Tolak secara default kecuali pengecualian pengembangan lokal dinyatakan dan hanya dibatasi ke loopback.
if not cognito_pool and not external_idp:
opted_in = os.getenv("LOOM_ALLOW_UNAUTHENTICATED_LOCAL_DEV") == "true"
peer_is_local = request.client is not None and ipaddress.ip_address(
request.client.host
).is_loopback
if opted_in and peer_is_local:
return local_development_user()
raise HTTPException(status_code=401, detail="Identity provider is not configured")
return await authenticate_with_configured_idp(token)
Daftar Periksa Penguatan Sistem Rekayasa
- ✓Tingkatkan Loom ke versi 1.7.0 atau lebih baru; 1.6.1 adalah versi pertama yang memperbaiki
CVE-2026-103956, sedangkan 1.7.0 merupakan target upgrade terpadu dalam buletin.[1], [2], [3] - ✓Pastikan Cognito atau IdP eksternal sudah dikonfigurasi sebelum backend dapat diakses di luar loopback.[1]
- ✓Jangan atur
LOOM_ALLOW_UNAUTHENTICATED_LOCAL_DEVdi lingkungan deployment; jika digunakan untuk pengembangan lokal, pastikan klien yang diterima adalah loopback dan proxy tidak tepercaya tidak mengekspos layanan. Pemeriksaan deployment FlawOpen: percayai sinyal loopback hanya setelah memverifikasi penanganan header proxy.[1], [4] - ✓Analisis FlawOpen: setelah upgrade, tinjau akses dan perubahan administratif selama periode terdampak. AWS menyarankan rotasi rahasia klien OAuth2 yang dikonfigurasi serta pencabutan dan penerbitan ulang token akses yang aktif selama periode terdampak. Jika kredensial role kontainer telah diakses, rotasi kredensial sesi role IAM dan tinjau CloudTrail untuk mencari penggunaan yang tidak semestinya.[1]
- ✓Perlakukan
CVE-2026-103957danCVE-2026-103958sebagai masalah terpisah yang diperbaiki di 1.7.0; batasimcp:writedana2a:writeuntuk administrator tepercaya sampai upgrade dilakukan.[1], [3]
Sumber
- Buletin Keamanan AWS 2026-124-AWS
- Catatan rilis AWS Loom 1.6.1
- Catatan rilis AWS Loom 1.7.0
- PR upstream #12: perbaikan autentikasi fail-closed
- Rekaman NVD CVE-2026-103956
- MITRE CWE-306: autentikasi hilang untuk fungsi kritis
- Catatan Program CVE — CVE-2026-103956
- MITRE CWE-1188 — inisialisasi sumber daya dengan nilai default yang tidak aman