Oprogramowanie Drupal w wersji poniżej 7.32 jest podatne na ataki SQL Injection, znaleziony błąd został dodany już na początku 2011 roku i tkwił niezauważony przez 3 lata, a ostatecznie został wykryty podczas wykonywania audytu kodu źródłowego przez niemiecką firmę SektionEins.
Luka znajduje się w API Drupala, którego jednym z głównych celów jest eliminacja ataków typu SQL Injection. Znaleziony błąd pozwala atakującemu na wykonanie specjalnie spreparowanych zapytań SQL, które pozwalają na ominięcie nadanych uprawnień i wykonanie dowolnego kodu PHP nie będąc zalogowanym na stronie.
Luka została naprawiona w najnowszej wersji Drupala 7.32. Zaleca się wykonanie aktualizacji oprogramowania do najnowszej wersji, a w przypadku problemów, należy skorzystać z tej poprawki.
Zawartość pliku z poprawką:
diff --git a/includes/database/database.inc b/includes/database/database.inc index f78098b..01b6385 100644 --- a/includes/database/database.inc +++ b/includes/database/database.inc @@ -736,7 +736,7 @@ abstract class DatabaseConnection extends PDO { // to expand it out into a comma-delimited set of placeholders. foreach (array_filter($args, 'is_array') as $key => $data) { $new_keys = array(); - foreach ($data as $i => $value) { + foreach (array_values($data) as $i => $value) { // This assumes that there are no other placeholders that use the same // name. For example, if the array placeholder is defined as :example // and there is already an :example_2 placeholder, this will generate
Czy ten artykuł był pomocny?
Oceniono: 0 razy