Jinja: Injeksi perintah dalam fungsi from_string (SSTI)

Dibuat pada 18 Feb 2019  ·  1Komentar  ·  Sumber: pallets/jinja

Perilaku yang Diharapkan

from_string menerima parameter yang tidak lolos, sehingga penyerang dapat menyuntikkan kode ke dalam template.

Perilaku Sebenarnya

Harus melarikan diri apa pun berlalu.

Informasi Tambahan dan Bukti Konsep

https://github.com/JameelNabbo/Jinja2-Code-execution
https://www.exploit-db.com/exploits/46386

Komentar yang paling membantu

Pengguna yang membuat repo dan CVE itu tidak tahu apa yang mereka bicarakan, dan sayangnya sekarang kita harus terus menanganinya karena mereka secara tidak bertanggung jawab memberi tahu sekelompok orang tentang non-masalah dengan cara yang terdengar resmi. . Lihat https://github.com/JameelNabbo/Jinja2-Code-execution/issues/1 untuk tanggapannya. Saya telah mengirimkan permintaan ke MITRE agar CVE tidak valid.

Mengatakan Jina memiliki kerentanan karena from_string ada seperti mengatakan setiap bahasa dinamis rentan karena eval ada, atau setiap pustaka SQL rentan karena mereka mengevaluasi string SQL. Masalahnya bukan pada perpustakaan itu, yang semuanya menyediakan alat yang tepat untuk menangani input pengguna. Pustaka SQL tidak memiliki kerentanan injeksi, proyek yang menggunakan pustaka SQL tidak memiliki kerentanan.

SandboxedEnvironment harus digunakan jika Anda masih ingin mengambil risiko mengompilasi template yang tidak tepercaya, dan autoescape harus digunakan saat merender variabel yang tidak tepercaya.

>Semua komentar

Pengguna yang membuat repo dan CVE itu tidak tahu apa yang mereka bicarakan, dan sayangnya sekarang kita harus terus menanganinya karena mereka secara tidak bertanggung jawab memberi tahu sekelompok orang tentang non-masalah dengan cara yang terdengar resmi. . Lihat https://github.com/JameelNabbo/Jinja2-Code-execution/issues/1 untuk tanggapannya. Saya telah mengirimkan permintaan ke MITRE agar CVE tidak valid.

Mengatakan Jina memiliki kerentanan karena from_string ada seperti mengatakan setiap bahasa dinamis rentan karena eval ada, atau setiap pustaka SQL rentan karena mereka mengevaluasi string SQL. Masalahnya bukan pada perpustakaan itu, yang semuanya menyediakan alat yang tepat untuk menangani input pengguna. Pustaka SQL tidak memiliki kerentanan injeksi, proyek yang menggunakan pustaka SQL tidak memiliki kerentanan.

SandboxedEnvironment harus digunakan jika Anda masih ingin mengambil risiko mengompilasi template yang tidak tepercaya, dan autoescape harus digunakan saat merender variabel yang tidak tepercaya.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat