Keamanan autentikasi merupakan salah satu komponen terpenting dalam pengembangan aplikasi web dan layanan API. Namun, sistem autentikasi yang terlihat aman dapat memiliki kelemahan apabila input pengguna tidak divalidasi secara tepat sebelum diproses oleh database.
Pada 19 Oktober 2026, tim Laravel mengumumkan kerentanan kritis pada mekanisme autentikasi berbasis API token yang dikenal sebagai TokenGuard.
Kerentanan tersebut dilacak melalui GitHub Security Advisory GHSA-f9x3-7vq9-cph6 dan memperoleh identifikasi CVE-2026-114509.
Dengan skor CVSS 4.0 sebesar 9,2 dari 10, kerentanan ini diklasifikasikan sebagai Critical.
Masalah tersebut memungkinkan penyerang yang tidak memiliki autentikasi untuk melewati pemeriksaan API token dan berpotensi masuk sebagai pengguna yang sudah terdaftar.
Kondisi ini terjadi ketika TokenGuard menerima nilai kredensial yang bukan string, kemudian meneruskannya ke proses pencarian database tanpa validasi tipe yang memadai.
Pada konfigurasi MySQL atau MariaDB tertentu, perbedaan cara database membandingkan nilai dapat menyebabkan pencarian autentikasi menemukan akun pengguna yang tidak seharusnya cocok.
Akibatnya, penyerang berpotensi mendapatkan akses ke endpoint API yang seharusnya hanya dapat diakses menggunakan token autentikasi yang sah.
Kerentanan ini penting diperhatikan oleh pengembang Laravel yang masih menggunakan mekanisme TokenGuard bawaan untuk melindungi endpoint API.
Apa Itu TokenGuard pada Laravel?
Laravel merupakan framework PHP yang menyediakan berbagai fitur untuk membangun aplikasi web dan API.
Salah satu fitur pentingnya adalah sistem autentikasi yang memungkinkan pengembang menentukan bagaimana identitas pengguna diverifikasi.
Laravel mendukung beberapa mekanisme autentikasi, termasuk session-based authentication dan token-based authentication.
TokenGuard merupakan implementasi autentikasi berbasis token yang tersedia dalam komponen Laravel.
Dalam konfigurasi tertentu, TokenGuard dapat digunakan untuk memeriksa API token yang dikirim bersama permintaan HTTP.
Sebagai contoh, aplikasi dapat memiliki konfigurasi guard berikut pada file config/auth.php:
'guards' => [
'api' => [
'driver' => 'token',
'provider' => 'users',
'hash' => false,
],
],
Konfigurasi tersebut menunjukkan penggunaan driver token untuk autentikasi API.
Ketika permintaan masuk, TokenGuard berusaha memperoleh token dari request dan mencocokkannya dengan kredensial pengguna yang tersimpan.
Jika token sesuai, permintaan dapat diproses sebagai pengguna yang terautentikasi.
Jika tidak sesuai, akses seharusnya ditolak.
Namun, CVE-2026-114509 menunjukkan bahwa pada versi terdampak, asumsi tersebut dapat gagal ketika kredensial yang diterima bukan berupa string.
Detail Kerentanan CVE-2026-114509
Berikut informasi utama berdasarkan GitHub Security Advisory dan basis data kerentanan.
Informasi | Keterangan |
|---|---|
CVE | CVE-2026-114509 |
GitHub Advisory | GHSA-f9x3-7vq9-cph6 |
Produk | Laravel Framework |
Paket |
|
Komponen | TokenGuard |
Jenis kerentanan | Authentication Bypass |
Dampak | Account Takeover |
Tingkat keparahan | Critical |
Skor CVSS 4.0 | 9,2 |
CWE | CWE-287, CWE-1287 |
Database terkait | MySQL / MariaDB |
Tanggal pengumuman | 19 Oktober 2026 |
Versi perbaikan 12.x | 12.68.0 |
Versi perbaikan 13.x | 13.29.0 |
Dua kategori kelemahan yang berkaitan dengan kerentanan ini adalah:
CWE-287 — Improper Authentication
Kelemahan ini terjadi ketika sistem tidak melakukan pemeriksaan identitas secara memadai sebelum memberikan akses kepada pengguna.
CWE-1287 — Improper Validation of Specified Type of Input
Kelemahan ini terjadi ketika aplikasi tidak memvalidasi tipe data yang diterima sesuai dengan tipe yang diharapkan.
Kombinasi kedua kelemahan tersebut dapat menyebabkan proses autentikasi menghasilkan keputusan yang salah.
Bagaimana Authentication Bypass pada TokenGuard Terjadi?
Secara umum, mekanisme autentikasi berbasis token bekerja dengan membandingkan kredensial yang diberikan client terhadap data yang tersimpan pada server.
Sebagai contoh, pengguna mengirim API token yang sah, kemudian sistem mencari akun yang memiliki token tersebut.
Pada kondisi normal, token yang tidak cocok harus menghasilkan kegagalan autentikasi.
Masalah muncul ketika nilai yang diterima dari permintaan HTTP bukan berupa string sebagaimana yang diharapkan.
1. TokenGuard Menerima Kredensial dari Request
Dalam mekanisme TokenGuard, token dapat diperoleh dari parameter request atau sumber kredensial lain yang didukung oleh guard.
Pada aplikasi yang rentan, nilai yang diterima tidak selalu dipastikan sebagai string sebelum digunakan dalam proses pencarian pengguna.













