
In der vergangenen Woche wurden von Dawid Golunski zwei kritische Fehler in PHPMailer entdeckt — einer Bibliothek, die das Versenden von E-Mails in PHP erleichtert.
Die Hinweise können Sie hier nachlesen:
- CVE-2016-10033 - PHPMailer < 5.2.18 Remote Code Execution
- CVE-2016-10045 - PHPMailer < 5.2.20 Remote Code Execution (0day Patch Bypass/exploit)
Die Reaktion der PHPMailer-Entwickler können Sie im PHPMailer-Wiki-Artikel "About the CVE 2016 10033 and CVE 2016 10045 vulnerabilities" nachlesen.
Um zu vermeiden, allen meinen Kunden eine Nachricht schicken zu müssen, ihre Website zu prüfen und zu aktualisieren — und dann darauf warten zu müssen, ob sie es wirklich getan haben — habe ich ein Shell-Skript geschrieben, das die zentralen PHPMailer-Dateien (class.phpmailer.php, class.pop3.php, class.smtp.php) in den angegebenen Verzeichnissen aktualisiert.
Das Skript heißt upgrade-phpmailer.sh und ist verfügbar als GitHub gist upgrade-phpmailer.sh (upgrade-phpmailer.sh herunterladen [Rechtsklick und Speichern]).
Die Hilfeausgabe des Skripts upgrade-phpmailer.sh:
phpmailer-upgrade.sh v1.0.0 - Copyright (c) 2016 Jeroen D.
Upgrades PHPMailer files automatically to last version
usage: upgrade-phpmailer.sh [-d] [-n] [-v] [-x] [-B branch] [-C checkout] [-D backup ] [-K] [-M extension]
[-N] [-O] directory [ directory [...] ]
-d Enable debug output
-n Dry-run mode
-v Enable verbose output
-x Enable shell debug output
-B PHPMailer GitHub branch name to use (default: master)
-C Directory containing cloned repository with branch to use
-D Backup directory to use (default: /phpmailer.backup)
-K Keep temporary directory
-M Rename original files using supplied extension (default: .BACKUP)
-N Do not create backup directory
-O Compare only, do not actually upgrade
Für Verbesserungen oder Anregungen hinterlassen Sie bitte unten einen Kommentar oder erstellen Sie einen Pull-Request.