SQL Injection Vulnerability in NextGEN Gallery für WordPress

Als Teil eines Schwachstellenforschungsprojekts Sucuri haben mehrere Open-Source-Projekte auf der Suche nach Sicherheitsfragen auditiert. Während der Arbeit an der WordPress Plugin NextGEN Gallery, entdeckten sie eine schwere SQL Injection Vulnerability.

Diese Sicherheitsanfälligkeit ermöglicht es einem nicht authentifizierten Benutzer, Daten aus der Website des Opfers zu erfassen, einschliesslich sensibler Benutzerinformationen.

Diese Anfälligkeit kann von Angreifern in mindestens zwei verschiedenen Szenarien ausgenutzt werden:

  1. Wenn Sie eine NextGEN Basic TagCloud Gallery auf Ihrer Website verwenden oder
  2. Wenn Sie Ihren Benutzern erlauben, Beiträge einzureichen, die überprüft werden sollen (Mitwirkende).

Dieses Problem bestand, weil NextGEN Gallery unsachgemäss sanierte Benutzereingaben in einer WordPress vorbereiteten SQL-Abfrage erlaubt hat. Was im Grunde das gleiche ist wie das Hinzufügen von Benutzereingaben in einer Roh-SQL-Abfrage.

Mit diesem Angriffsvektor könnte ein Angreifer gehackte Passwörter und WordPress geheime Schlüssel in bestimmten Konfigurationen auslaufen.

Technische Details

Die goldene Regel ist „niemals vertrauen der Eingang“. Dies führt zu mehr Sicherheit und sicheren Kunden.

In jedem Szenario muss der Entwickler ein paar einfache Fragen stellen:

  • Ist dieser Eingang sicher genug?
  • Ist es saniert?
  • Befolgen wir alle rahmenspezifischen Regeln und Best Practices?

WordPress verwendet die PHP-Vsprintf-Funktion, um SQL-Anweisungen in $ wpdb-> prepare () vorzubereiten; Das bedeutet, dass die SQL-Anweisung einen Formatstring und die Eingabewerte als Argumente verwendet.

Die Schlussfolgerung ist, dass ist nie eine gute Idee, Benutzer-Eingabe in der Format-String zu liefern, weil es nicht gegen Charaktere, die gültige willkürliche Sprintf / printf-Anweisungen erstellen könnte, saniert werden.

Quelle: SQL Injection Vulnerability in NextGEN Gallery for WordPress