Düzenli ifade DoS (ARCH7135)
Anahtar php.security.regex-dos · Önem warning · Kategori security · CWE CWE-1333
İç içe niceleyiciler içeren düzenli ifadeler (örn. (a+)+) belirli girdilerde üstel geri izlemeye yol açar. Güvenilmeyen girdiye uygulandığında saldırgan tek bir istekle CPU’yu kilitleyebilir (ReDoS). Desen yeniden yazılmalı veya girdi sınırlanmalıdır.
Hatalı
Bölüm başlığı “Hatalı”<?php$input = $_GET['q'];if (preg_match('/^(\w+\s?)+$/', $input)) { // ...}<?php$input = $_GET['q'];if (strlen($input) > 256) { http_response_code(400); exit;}if (preg_match('/^\w+(\s\w+)*$/', $input)) { // ...}Düzeltme
Bölüm başlığı “Düzeltme”İç içe niceleyicileri kaldıracak şekilde deseni yeniden yazın ve girdi uzunluğunu sınırlayın.