Drupal podatny na atak SQL Injection

16 października, 2014

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

PODZIEL SIĘ:

guest
0 komentarzy
najstarszy
najnowszy oceniany
Inline Feedbacks
View all comments

Zapisz się na newsletter

Informacje o cyberbezpieczeństwie prosto na skrzynkę pocztową!

Dodatkowo otrzymasz poradnik „Jak bezpiecznie funkcjonować w cyfrowym świecie”

[ninja_tables id=”27481″]

\r\n <\/div>\r\n<\/div>\r\n","isUserRated":"0","version":"7.6.29","wc_post_id":"17322","isCookiesEnabled":"1","loadLastCommentId":"0","dataFilterCallbacks":[],"phraseFilters":[],"scrollSize":"32","is_email_field_required":"1","url":"https:\/\/avlab.pl\/wp-admin\/admin-ajax.php","customAjaxUrl":"https:\/\/avlab.pl\/wp-content\/plugins\/wpdiscuz\/utils\/ajax\/wpdiscuz-ajax.php","bubbleUpdateUrl":"https:\/\/avlab.pl\/wp-json\/wpdiscuz\/v1\/update","restNonce":"d14ccb5e80","is_rate_editable":"0","menu_icon":"https:\/\/avlab.pl\/wp-content\/plugins\/wpdiscuz\/assets\/img\/plugin-icon\/wpdiscuz-svg.svg","menu_icon_hover":"https:\/\/avlab.pl\/wp-content\/plugins\/wpdiscuz\/assets\/img\/plugin-icon\/wpdiscuz-svg_hover.svg"}; var wpdiscuzUCObj = {"msgConfirmDeleteComment":"Are you sure you want to delete this comment?","msgConfirmCancelSubscription":"Are you sure you want to cancel this subscription?","msgConfirmCancelFollow":"Are you sure you want to cancel this follow?","additionalTab":"0"}; -->