In de afgelopen week zijn twee kritische fouten ontdekt door Dawid Golunski in PHPMailer, een bibliotheek om het versturen van e-mail te faciliteren in PHP.
De kennisgevingen kun je hier lezen:
- CVE-2016-10033 - PHPMailer < 5.2.18 Remote Code Execution
- CVE-2016-10045 - PHPMailer < 5.2.20 Remote Code Execution (0day Patch Bypass/exploit)
Je kunt de reactie van de programmeurs van PHPMailer vinden in het PHPMailer Wiki artikel "About the CVE 2016 10033 and CVE 2016 10045 vulnerabilities".
Om te voorkomen dat ik al mijn klaten een bericht moest sturen om hun website te controleren en bij te werken en dan maar af te wachten of dat ze dat ook daadwerkelijk gedaan hebben, heb ik een shell script geschreven dat de belangrijkste bestanden van PHPMailer (class.phpmailer.php
, class.pop3.php
, class.smtp.php
) die gevonden worden in de opgegeven directories bijwerkt.
Het script is genaamd upgrade-phpmailer.sh
en je kunt het vinden als GitHub gist upgrade-phpmailer.sh (upgrade-phpmailer.sh downloaden [gebruik rechtsklik en Opslaan]).
De help output van het script upgrade-phpmailer.sh
:
phpmailer-upgrade.sh v1.0.0 - Copyright (c) 2016 Derks.IT / Jeroen Derks 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
Als je enige verbetering of suggesties wilt doorgeven, laat hieronder een bericht achter of maak een pull-request aan.