Nginx-Rift: Celah RCE Kritis di NGINX yang Ditemukan oleh AI
CVE-2026-42945 membuka jalan RCE tanpa autentikasi di hampir semua NGINX sejak 2009. PoC sudah publik. Twist-nya: kerentanan ini ditemukan bukan oleh peneliti manusia, melainkan oleh sistem AI secara otonom — dan ini mengubah cara kita memandang vulnerability research.
Daftar Isi
- Nginx-Rift: Ketika NGINX Jadi Pintu Masuk — dan Ini Ditemukan oleh AI
- Nginx-Rift Itu Apa, Tepatnya?
- Kenapa Ini Sangat Berbahaya: The Two-Pass Flaw
- Pass 1: Kalkulasi Panjang Buffer
- Pass 2: Eksekusi Copy
- Dari Overflow ke Shell: Teknik “Cross-Request Heap Feng Shui”
- Siapa yang Terdampak?
- NGINX Open Source
- NGINX Plus
- Plot Twist: Ditemukan oleh AI, Bukan Manusia
- Proof-of-Concept Sudah Publik
- Yang Harus Dilakukan Sekarang
- 1. Update NGINX Segera (Prioritas Tertinggi)
- 2. Workaround Sementara (Jika Belum Bisa Update)
- 3. Audit Konfigurasi NGINX
- 4. Monitor Log untuk Tanda Eksploitasi
- Perspektif: Mengapa Bug 17 Tahun Bisa Lolos?
- Kesimpulan
Nginx-Rift: Ketika NGINX Jadi Pintu Masuk — dan Ini Ditemukan oleh AI
NGINX ada di mana-mana. Sekitar sepertiga dari seluruh web server di dunia menjalankannya — dari blog sederhana sampai infrastruktur e-commerce skala enterprise. Cloudflare menggunakannya. Netflix menggunakannya. Kemungkinan besar, server Anda pun menggunakannya.
Dan sekarang, hampir semua instalasi NGINX yang ada di dunia selama 17 tahun terakhir memiliki kerentanan kritis yang bisa dieksploitasi oleh siapa saja — tanpa username, tanpa password, tanpa token — untuk menjalankan kode apapun di server Anda.
Ini bukan clickbait. Ini CVE-2026-42945, dan proof-of-concept-nya sudah publik di GitHub dengan nama Nginx-Rift.
Tapi ada twist yang membuat kerentanan ini lebih dari sekadar “patch segera”: kerentanan ini ditemukan oleh sistem AI, bukan manusia.
Nginx-Rift Itu Apa, Tepatnya?
Nginx-Rift adalah nama yang diberikan untuk eksploitasi CVE-2026-42945 — heap buffer overflow kritis di ngx_http_rewrite_module, modul NGINX yang menangani direktif rewrite, return, set, dan sejenisnya.
Selain CVE-2026-42945 sebagai kerentanan utama, ada tiga CVE pendamping dalam keluarga yang sama:
| CVE | Deskripsi |
|---|---|
| CVE-2026-42945 | Heap buffer overflow primer — pintu masuk RCE |
| CVE-2026-42946 | Flaw terkait di jalur eksekusi script engine |
| CVE-2026-40701 | Kondisi race di memory pool cleanup |
| CVE-2026-42934 | Bypass mitigasi pada konfigurasi tertentu |
Keempatnya bisa dieksploitasi secara berantai, tapi CVE-2026-42945 saja sudah cukup untuk mendapatkan shell di server target.
Kenapa Ini Sangat Berbahaya: The Two-Pass Flaw
Untuk memahami mengapa ini kritis, kita perlu lihat bagaimana ngx_http_rewrite_module bekerja di balik layar.
Ketika NGINX memproses request yang melibatkan direktif rewrite, modul ini melakukan dua pass terpisah:
Pass 1: Kalkulasi Panjang Buffer
Di pass pertama, NGINX menghitung berapa besar buffer yang dibutuhkan untuk menyimpan URI hasil rewrite. Kalkulasi ini dilakukan tanpa flag is_args aktif — artinya engine belum mempertimbangkan kemungkinan karakter di URI yang perlu di-escape.
Pass 2: Eksekusi Copy
Di pass kedua, data aktual disalin ke buffer yang sudah dialokasikan. Tapi kali ini, flag is_args=1 aktif. Artinya mekanisme URI escaping berjalan — dan inilah masalahnya.
URI escaping mengubah satu karakter menjadi tiga karakter (%XX). Jadi byte yang tadinya dihitung 1 byte di pass 1, bisa menjadi 3 byte di pass 2. Buffer yang dialokasikan berdasarkan kalkulasi pass 1 tidak cukup menampung output pass 2.
Hasilnya: heap buffer overflow.
Pass 1: hitung ukuran → alokasi buffer 100 bytes
Pass 2: tulis data → butuh 300 bytes karena escaping
↓
HEAP BUFFER OVERFLOW
Sederhana secara konsep, tapi mematikan secara dampak.
Dari Overflow ke Shell: Teknik “Cross-Request Heap Feng Shui”
Menemukan overflow adalah satu hal. Mengubahnya jadi RCE yang reliabel adalah hal lain yang jauh lebih sulit. Di sinilah kecerdasan di balik Nginx-Rift terlihat.
Exploit ini menggunakan teknik yang disebut “cross-request heap feng shui” — sebuah teknik manajemen heap yang melibatkan serangkaian request HTTP yang dirancang khusus untuk mengatur tata letak memori di heap NGINX sebelum overflow terjadi.
Tujuannya: menempatkan struktur data yang ingin dikorupsi tepat di lokasi yang akan ditimpa oleh overflow.
Target spesifiknya adalah ngx_pool_t cleanup pointers — pointer yang NGINX gunakan untuk memanggil fungsi cleanup ketika koneksi atau request selesai. Dengan menimpa pointer ini menggunakan alamat system(), setiap kali NGINX melakukan cleanup, ia justru memanggil system() dengan argumen yang sudah dikendalikan penyerang.
Alur eksploitasi:
- Serangkaian request “persiapan” untuk mengatur layout heap (feng shui)
- Request trigger yang menyebabkan overflow dan menimpa cleanup pointer
- Request cleanup trigger — NGINX memanggil apa yang dikira fungsi cleanup, tapi sebenarnya
system(cmd) - Shell penyerang aktif di server
Dan ini semuanya bisa dilakukan tanpa autentikasi apapun, selama server menggunakan direktif rewrite dalam konfigurasi NGINX-nya. Yang artinya: hampir semua konfigurasi NGINX di dunia nyata.
Siapa yang Terdampak?
Daftar versi yang terdampak mencakup hampir semua NGINX yang pernah ada:
NGINX Open Source
| Versi | Status |
|---|---|
| 0.6.27 – 1.30.0 | ❌ Rentan |
| 1.31.0 | ✅ Aman |
| 1.30.1 | ✅ Aman |
NGINX Plus
| Release | Status |
|---|---|
| R32 – R36 | ❌ Rentan |
| R36 P4 | ✅ Aman |
| R35 P2 | ✅ Aman |
| R32 P6 | ✅ Aman |
Versi 0.6.27 dirilis tahun 2009. Artinya kerentanan ini sudah ada di kode NGINX selama 17 tahun sebelum ditemukan.
Plot Twist: Ditemukan oleh AI, Bukan Manusia
Ini bagian yang membuat Nginx-Rift berbeda dari kebanyakan kerentanan besar lainnya.
CVE-2026-42945 ditemukan secara otonom oleh sistem analisis keamanan AI milik depthfirst — bukan oleh peneliti keamanan manusia yang melakukan code review manual. Sistem ini di-onboard dengan source code NGINX dan secara otomatis menemukan bug dua-pass yang sudah tersembunyi selama hampir dua dekade.
Ini bukan pertama kalinya AI digunakan dalam vulnerability research, tapi menemukan bug RCE kritis yang lolos dari perhatian manusia selama 17 tahun adalah statement yang kuat tentang ke mana arah industri keamanan siber sedang bergerak.
Implikasinya besar: jika AI bisa menemukan bug seperti ini secara otonom, bukan tidak mungkin aktor berbahaya yang punya akses ke sistem serupa sudah melakukan hal yang sama — diam-diam, jauh sebelum disclosure publik.
Proof-of-Concept Sudah Publik
Yang memperparah situasi: PoC exploit Nginx-Rift sudah tersedia publik di GitHub. Repository DepthFirstDisclosures/Nginx-Rift menyertakan:
- Script setup Docker untuk lingkungan uji (
./setup.sh) - Environment Docker Compose dengan NGINX versi rentan
poc.pyyang bisa langsung digunakan untuk mendapatkan shell:
# Setup environment
./setup.sh
docker compose -f env/docker-compose.yml up
# Eksekusi exploit
python3 poc.py --shell
Dengan PoC ini tersedia, window waktu antara “kerentanan diketahui publik” dan “dieksploitasi di alam liar” menjadi sangat sempit. Ini bukan lagi risiko teoritis.
Yang Harus Dilakukan Sekarang
1. Update NGINX Segera (Prioritas Tertinggi)
# Ubuntu/Debian
sudo apt update && sudo apt install nginx
# Cek versi setelah update
nginx -v
# Target: nginx/1.31.0 atau nginx/1.30.1
# CentOS/RHEL/AlmaLinux
sudo dnf update nginx
# Verifikasi
nginx -v
Jika menggunakan NGINX Plus, hubungi F5 untuk mendapatkan patch R36 P4, R35 P2, atau R32 P6 sesuai versi yang digunakan. Referensi advisory: F5 Knowledge Base K000160932.
2. Workaround Sementara (Jika Belum Bisa Update)
Jika ada kendala teknis atau operasional yang mencegah update segera:
# Di nginx.conf atau konfigurasi site Anda
# Nonaktifkan atau ganti semua direktif rewrite dengan return statis
# Contoh: ubah
rewrite ^/old-path(.*)$ /new-path$1 permanent;
# Menjadi
return 301 /new-path;
Ini bukan solusi permanen dan tidak semua konfigurasi bisa diganti, tapi mengurangi attack surface sementara patch diproses.
3. Audit Konfigurasi NGINX
Identifikasi server mana saja yang menggunakan direktif rewrite:
# Cari konfigurasi yang menggunakan rewrite
grep -r "rewrite" /etc/nginx/ --include="*.conf"
# Atau lebih spesifik
grep -rn "^\s*rewrite\s" /etc/nginx/
Server dengan direktif rewrite aktif adalah target prioritas untuk patch.
4. Monitor Log untuk Tanda Eksploitasi
Aktivitas eksploitasi Nginx-Rift biasanya meninggalkan jejak pola request yang tidak normal — serangkaian request dengan URI yang mengandung banyak karakter yang perlu di-escape:
# Monitor error log
tail -f /var/log/nginx/error.log
# Cari pola request mencurigakan
grep -E "(%[0-9a-fA-F]{2}){5,}" /var/log/nginx/access.log
Perspektif: Mengapa Bug 17 Tahun Bisa Lolos?
Pertanyaan yang wajar: bagaimana bug seserius ini bisa ada selama hampir dua dekade di salah satu web server paling banyak digunakan di dunia?
Jawabannya terletak pada sifat bug itu sendiri. Two-pass processing vulnerability seperti ini sangat sulit terdeteksi dengan code review biasa karena:
-
Kedua pass terlihat benar secara terpisah — kalkulasi panjang di pass 1 logis, operasi copy di pass 2 juga logis. Bug baru muncul dari interaksi antara keduanya.
-
State change tersembunyi — flag
is_argsyang berubah antara dua pass tidak terlihat obvious sebagai security-relevant state change. -
Testing konvensional tidak menangkapnya — fuzzing standar sering melewatkan kelas bug seperti ini karena membutuhkan kondisi yang sangat spesifik untuk trigger.
Inilah mengapa pendekatan analisis yang berbeda — termasuk AI — mulai menemukan bug yang lolos dari radar tradisional.
Kesimpulan
Nginx-Rift bukan sekadar CVE lain di panjangnya daftar kerentanan yang lewat setiap minggunya. Ini:
- Kritis: RCE tanpa autentikasi di server web paling populer di dunia
- Luas: Memengaruhi hampir semua instalasi NGINX sejak 2009
- Aktif: PoC sudah publik, window eksploitasi sedang berjalan
- Bersejarah: Salah satu kerentanan RCE major pertama yang ditemukan sepenuhnya oleh AI
Satu-satunya langkah yang tepat hari ini adalah update NGINX ke versi yang sudah dipatch. Jangan tunggu maintenance window berikutnya jika bisa lebih cepat. Server yang menjalankan rewrite adalah target aktif sekarang.
Referensi:
- GitHub: DepthFirstDisclosures/Nginx-Rift
- F5 Advisory: K000160932
- NVD: CVE-2026-42945, CVE-2026-42946, CVE-2026-40701, CVE-2026-42934
FAQ
Apa itu Nginx-Rift (CVE-2026-42945)?
Nginx-Rift adalah exploit proof-of-concept untuk CVE-2026-42945, kerentanan heap buffer overflow kritis di modul rewrite NGINX yang memungkinkan remote code execution tanpa autentikasi pada versi 0.6.27 hingga 1.30.0.
Versi NGINX mana yang terdampak CVE-2026-42945?
NGINX Open Source versi 0.6.27 hingga 1.30.0 dan NGINX Plus R32 hingga R36 terdampak. Versi aman: NGINX 1.31.0 atau 1.30.1, dan NGINX Plus R36 P4, R35 P2, atau R32 P6.
Apakah CVE-2026-42945 sudah ada patchnya?
Ya. Update ke NGINX Open Source 1.31.0 atau 1.30.1. Untuk NGINX Plus: R36 P4, R35 P2, atau R32 P6. Jika belum bisa update, nonaktifkan direktif rewrite sebagai workaround sementara.
Siapa yang menemukan kerentanan Nginx-Rift?
Kerentanan ini ditemukan secara otonom oleh sistem analisis keamanan AI milik depthfirst, dengan kontribusi dari peneliti Markakd/Zhenpeng Lin. Ini salah satu kasus pertama RCE kritis ditemukan sepenuhnya oleh sistem AI.