Make WordPress Core

Opened 9 months ago

Last modified 12 days ago

#40472 new enhancement

Update PHPMailer to 5.2.26

Reported by: MattyRob Owned by:
Milestone: Awaiting Review Priority: normal
Severity: major Version: 4.8
Component: External Libraries Keywords: has-patch dev-feedback
Focuses: Cc:


There is a minor maintenance release for PHPMailer that we should consider patching to.

Attachments (5)

40472.diff (6.7 KB) - added by MattyRob 9 months ago.
40472v2.diff (10.2 KB) - added by MattyRob 6 months ago.
40472v3.diff (74.2 KB) - added by MattyRob 5 months ago.
40472v4.diff (338.3 KB) - added by MattyRob 2 months ago.
40472v5.diff (338.1 KB) - added by MattyRob 2 weeks ago.

Download all attachments as: .zip

Change History (24)

9 months ago

#1 @MattyRob
9 months ago

  • Keywords has-patch needs-testing added
  • Severity changed from normal to minor

#2 @lukecavanagh
9 months ago

40472.diff Patch applies cleanly.

#3 @MattyRob
9 months ago

  • Keywords needs-testing removed

I've tested emails and everything appears functional with the patch and PHP Unit Tests all pass in the mail test suite.

#4 @Presskopp
6 months ago

FYI: 5.2.24 is current (fixing also a security issue, that doesn't affect WordPress, as far as i can tell)

#5 @MattyRob
6 months ago

  • Keywords needs-testing added
  • Summary changed from Update PHPMailer to 5.2.23 to Update PHPMailer to 5.2.24

6 months ago

#6 @Presskopp
5 months ago

  • Summary changed from Update PHPMailer to 5.2.24 to Update PHPMailer to 5.2.25

Version 5.2.25 (August 28th 2017)

Make obtaining SMTP transaction ID more reliable

Add Bosnian translation

This is the last official release in the legacy PHPMailer 5.2 series; there may be future security patches (which will be found in the 5.2-stable branch), but no further non-security PRs or issues will be accepted.

Migrate to PHPMailer 6.0.

5 months ago

#7 @netweb
5 months ago

Related: #41750 Update PHPMailer to 6.0

#8 @peopleinside
3 months ago

  • Severity changed from minor to normal

cirrently I can see mail come out from Wordpress from PHP Mailer 5.2.22 that has security vulnerability.

I AM asking when this will be fixed with update in Wordpress.
Thank you.

I AM using plugin
SMTP Mailer and opened an issue but the plug in athir says that the plugin use Wordpress PHP Mailer so Wordpress PHP Mailer seems to be vulnerable, 5.2.22

On PHP Mailer 5.2.24
SECURITY Fix XSS vulnerability in one of the code examples, CVE-2017-11503. The code_generator.phps example did not filter user input prior to output. This file is distributed with a .phps extension, so it it not normally executable unless it is explicitly renamed, so it is safe by default. There was also an undisclosed potential XSS vulnerability in the default exception handler (unused by default). Patches for both issues kindly provided by Patrick Monnerat of the Fedora Project.

#9 follow-up: @bgermann
3 months ago

CVE-2017-11503 is not an issue for WordPress, because the example is not included. BUT the potential XSS vulnerability may be an issue. The fix can be seen at https://github.com/PHPMailer/PHPMailer/commit/d46ba2d186.

It does not need much time to integrate the existing (!) patch, but it would take much time to ensure, WordPress is not affected by this. So why not integrate the patch? Please!

#10 in reply to: ↑ 9 @aaroncampbell
3 months ago

  • Severity changed from normal to minor

I took a look through our code and it doesn't look like we use the phpmailerException::errorMessage() helper function anywhere, which would mean the reported potential XSS doesn't affect WordPress core.

I'm of the general opinion that keeping our libraries up to date is good, it's just not security related in this case.

As a side note, if it was a valid security issue it should really be reported to https://hackerone.com/wordpress and not discussed publicly here on Trac.

2 months ago

#12 @MattyRob
2 months ago

  • Severity changed from minor to major


I believe it may pose a risk but should not cause issues in the default WordPress configuration, patch updated.

Last edited 2 months ago by MattyRob (previous) (diff)

#13 @rogueresearch
2 weeks ago

I'm using WordPress 4.9.1 (current) and started evaluating the Ninja Forms plugin (which can send emails). In the headers of the emails it generates, I see:

X-Mailer: PHPMailer 5.2.22 (https://github.com/PHPMailer/PHPMailer)

This concerned me because:

1) 5.2.22 is a year old (2017-01-09).
2) 5.2 branch is only getting security updates at this point.
3) 5.2.24 has security fixes (CVE-2017-11503).
3) 5.2.26 is current (2017-11-04) and contains another security fix.

Even if the security issue doesn't affect the WP core, might it not affect plugins?

@MattyRob : I tried to look at your patch, but it seems there was a space<->tab change, making it difficult to review.

What is required to move this along? I could help with testing...

2 weeks ago

#14 @rogueresearch
13 days ago

40472v5.diff still has the space<->tab changes, but nevertheless the patch applies correctly. I'm now trying it on my test server...

#15 @bgermann
13 days ago

  • Summary changed from Update PHPMailer to 5.2.25 to Update PHPMailer to 5.2.26

#16 @MattyRob
13 days ago

  • Summary changed from Update PHPMailer to 5.2.26 to Update PHPMailer to 5.2.25


Try the updated patch - hopefully that'll work better for you.

Apologies, late post as I slept my computer too fast this morning. I see you are testing now.

Last edited 13 days ago by MattyRob (previous) (diff)

#17 @MattyRob
13 days ago

  • Summary changed from Update PHPMailer to 5.2.25 to Update PHPMailer to 5.2.26

#18 @rogueresearch
13 days ago

I've tested, and it seems to work just fine for me. I'm not doing anything very fancy, just using the Ninja Forms plugin, and it's successfully sending email and the "X-Mailer:" header indeed shows 5.2.26 now.

#19 @MattyRob
12 days ago

  • Keywords dev-feedback added; needs-testing removed

I've tested for a few weeks and am getting notifications about comments, from the Stop Spammers plugin and also from Subscribe2 for post notifications. Checked on 2 installs.

Note: See TracTickets for help on using tickets.