Rehabilitasi Kepala Sekolah PoC selesai

🚨 Infiltrasi Nginx 18 tahun Risiko Tinggi Celah CVE-2026-42945: Rasionale, PoC dan Program Rehabilitasi
Institut Riset Keamanan, 13 Mei 2026Kedalaman pertamaJohn F5.CVE-2026-42945KANTOR:
- CVS CVSS v4.0 Peringkat 9,2Lubang celah berisiko tinggi
- Tamparan Penimbal: dapat menyebabkan eksekusi kode jauh (RCE)
- Bersembunyi 18 tahunKode tulis sejak 2008 Library
- 975 juta situs mempengaruhi duniaCina lebih dari 2,54 juta situs web terpengaruh
- Kemunculan PoCChiansin telah berhasil pulih
Ini adalah...Modul Inti NGINX NGINXSebuah lubang sejarah dimana para penyerang hanya mengirim permintaan HTTP yang dirancang khusus untuk mengambil alih server dari jarak jauh.
Ringkasan kesenjangan
Informasi dasar
| Ciri-ciri Lubang Oles | Perincian |
|---|---|
| Nomor lubang | CVE-2026-42945 |
| Penilaian CVS CVS | v4.0: 9.2 v3.1: 8.1 |
| Tipe Lubang Ole | Buffer berbasis Stack Overflow |
| Jenis ancaman | Eksekusi kode jarak jauh (RCE), penolakan layanan (DoS) |
| Kondisi untuk pemanfaatan | Tidak perlu otentikasi, hanya construct permintaan HTTP |
| Komponen Impact | modul ngx http penulisan ulang modul (built-in core NGINX module) |
| Agensi Discovery | Kedalaman pertama. |
Skop dampak
- 97.5 juta situs globalImpact
- 2 million4 juta situs webImpact
- Host NGINX sekitar 1/3 dari situs web globalDampaknya sangat besar.
- Kode kode dariTahun 2008Menulis, mengintai18 tahun
⚠️ Kondisi pemicu
3 syarat harus dipenuhi secara bersamaan.
Pemicu tikap diperlukanKonfigurasi kelompok yang memenuhi syarat tertentuKANTOR:
| Kondisi | Anotasi | Contoh: |
|---|---|---|
| Tangkapan PCRE tak bernama | Penulisan ulang tangkapan perintah dengan Kelompok tidak bernama | Satu, dua, tiga... |
| 2. Gantikan string dengan tanda tanya | Renang Gantian berisi ? aksara | /profile.php?id=$1&tab=2 |
| 3 3./if/set | Ikuti perintah lain setelah instruksi | [...] |
Contoh kelemahan
# 易受攻击配置
rewrite ^/users/([0-9]+)/profile/(.*)$ /profile.php?id=$1&tab=$2 last;
# 后跟其他指令
if ($arg_debug) {
set $debug_flag 1;
}
Konfigurasi ini memenuhi tiga syarat:Tanpa nama ditangkap $ 1/$2Aku tidak tahu.Gantikan isi senar?Aku tidak tahu.Hujung belakang kota jika perintahAku tidak tahu.
Ini ide yang bagus.
Ketidakkonsistenan antara dua fase
Mesin skrip NGINXPenggunaan dua fase:
- Phase I:Menghitung ukuran buffer yang diperlukan
- Phase IISalin data ke buffer
Inti dari lubang adalahNama samaran adalah kesalahan manajemen tag argsKANTOR:
| Phase | Status args | Logika Proses Logika | Hasil |
|---|---|---|---|
| Fase perhitungan panjang gundik | =0 | Kembali panjang tangkapan asli | Keanehan terhadap ukuran buffer |
| Fase reproduksi data | =1 | Panggil ngx escape uri dengan 3 byte per byte | Tamparan Penimbal |
Proses yang spesifik
- Perintah Penulisan UlangJangan sertakan tangkapan tak disebutkan namanya $ 1/$2
- Renang Gantikan RentetanTermasuk? Pemicu adalah args = 1
- Fase perhitungan panjang gundik: baru diinisialisasi subengine, adalah args = 0
- Panjang asli yang kembaliZona penyangga dibagikan
- Fase reproduksi dataGunakan mesin utama, adalah args = 1
- Panggil ngx escape uriExtended bytes, keluar dari zona penyangga
- Data URI Dapat Dikontrol PenyerangArea Spill Penulisan Hikmah
Utilisasi Air
Cross Feng ShuiKANTOR:
- POST RequesterMemori reaktor Jet otax (karena URI tidak dapat berisi nullabyte)
- Data mata-matangx pol t
- Pembersihan kolam renang ngx palsu, menunjuk ke sistem()
- Kolam renang ketika dihancurkanPemicu sistem () panggilan
- Achieve RCE
ASLR Impact
- ASLR diaktifkanPenyusun:
- ASLR Dilumpuhkan: Eksekusi kode jauh (RCE)
Versi impact
Sumber Terbuka NGINX
| Veron Range | Versi Fix Ubuntu |
|---|---|
| 0.6.27 – 1.30. | 1.31.0, 1.30.1 |
NGINX Plus
| Veron Range | Versi Fix Ubuntu |
|---|---|
| – R32 – R36 | R36 P4, R35 P2, R32 P6 |
Komponen lain yang terkena dampaknya
- Pengurus Institut NGINX2 2.16 – 2.21.1
- WAF Produksi Aplikasi NGINX:4.9 – 5.8.0
- Kontraktor Informasi NGINX: 3.5.0 – 5.4.1
- Fabric Gateway NGINX1.3.0 – 2.5.1
- F5 Dos untuk NGINX4.8.0
Status 🔥PoC
Kemunculan PoC
- Repositori GitHubKANTOR:https://github.com/DepthFirstDiscloasures/Nginx-Rift
- Chian Xin telah kembali.Berhasil muncul kembali peneliti keamanan di Pusat Informasi Kecamatan
- Rincian teknis dibuat publik.Penyusun:
- Guna di lapanganTidak ditemukan
Metode Penggunaan PC Terminologi
# 构建容器 ./setup.sh # 启动易受攻击的 NGINX 服务器 docker compose -f env/docker-compose.yml up # 执行 PoC 获取 Shell python3 poc.py --shell
Program Rehabilitasi Mukjizat
Metode: Meningkatkan
# 升级到修复版本 NGINX Open Source >= 1.31.0 NGINX Open Source >= 1.30.1 NGINX Plus >= R32 P6 NGINX Plus >= R36 P4 # 升级后重启 NGINX nginx -s reload
Metodeologi: Pengubahan konfigurasi (ukuran mitigasi)
AkanKumpulan Tangkapan Tanpa NamaGantikan denganNama Kelompok TangkapanKANTOR:
# 易受攻击配置(未命名捕获) rewrite ^/users/([0-9]+)/profile/(.*)$ /profile.php?id=$1&tab=$2 last; # 修复后配置(命名捕获) rewrite ^/users/(?[0-9]+)/profile/(?.*)$ /profile.php?id=$user_id&tab=$section last;
Nama Kelompok TangkapanIni tidak akan memicu celah.
Metode 3: Cek konfigurasi
Periksa konfigurasi rentan:
# 搜索易受攻击的 rewrite 指令 grep -E "rewrite.*\$[0-9]+.*\?.*(rewrite|if|set)" /etc/nginx/nginx.conf grep -rE "rewrite.*\$[0-9]+.*\?.*(rewrite|if|set)" /etc/nginx/conf.d/
Proses Discovery
Penemuan sistem terautomatik
Kedalaman pertamaSistem analisis astronomi:
- Dalam 6 jamLima pertanyaan ditemukan.
- 4 dikonfirmasi oleh NGINX
- CVE-2026-42945Ini lubang terburuk.
- Sejauh 2008Tidak ada dalam hampir semua versi build standar
Kelainan celah relevan
- CVE-2026-42946Kerusakan memori
- AVE-2026-40701Kerusakan memori
- CVE-2026-42934Kerusakan memori
Ringkasan
CVE-2026-42945Ini adalah NGINX, sebuah celah berisiko tinggi dalam sejarah:
- 18 tahun: kode tertulis sejak 2008 Library
- CVS=HOS 9.2: Tumpahan buffer yang dapat menyebabkan RCE
- Kondisi Pemicu form: menulis ulang perintah menggunakan tangkapan tidak bernama + ganti isi string? + dan perintah lain
- Skop dampak: 9,75 juta situs global, 2.54 juta situs di Cina
- Majalah PoC: Repositori GitHub + Qianqin telah direproduksi
- Program Rehabilitasi: tatar atau tangkap dengan nama Group
Pada 18 tahun, terdapat potensi kebocoran, dan disarankan konfigurasinya ditingkatkan atau dimodifikasi sesegera mungkin.
Pengumuman resmiKANTOR:https://my.f5.com/manage/s/article/K000161019
Gudang PoCKANTOR:https://github.com/DepthFirstDiscloasures/Nginx-Rift
Analisis teknikalKANTOR:https://depthfirst.com/research/nginx-rift