GitHub Advisoryadvisory · Packagist

GHSA-77mr-wc79-m8j3 PHPMailer untrusted code may be run from an overridden address validator

HIGH Published 2021-06-22 Modified 2024-02-07 Official page ↗
Aliases
CVE-2021-3603
Ecosystem
Packagist
Packages
phpmailer/phpmailer
Severity
High
CVSS vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Weaknesses
CWE-74, CWE-829
Reviewed
2021-06-16

Affected packages

• Packagist phpmailer/phpmailer: < 6.5.0 → fixed in 6.5.0

Description

If a function is defined that has the same name as the default built-in email address validation scheme (`php`), it will be called in default configuration as when no validation scheme is provided, the default scheme's callable `php` was being called. If an attacker is able to inject such a function into the application (a much bigger issue), it will be called whenever an email address is validated, such as when calling `validateAddress()`. Impact Low impact – exploitation requires that an attacker can already inject code into an application, but it provides a trigger pathway. Patches This is patched in PHPMailer 6.5.0 by denying the use of simple strings as validator function names, which is a very minor BC break. Workarounds Inject your own email validator function. References Reported by Vikrant Singh Chauhan via huntr.dev. CVE-2021-3603 For more information If you have any questions or comments about this advisory: • Open an issue in the PHPMailer project • Email us.

Related

Alias · CVE (1)

  • CVE-2021-3603 PHPMailer 6.4.1 and earlier contain a vulnerability that can result in untrusted code being called (if such code is injected into the host… vulnerability

Weakness · CWE (2)

  • CWE-74 Improper Neutralization of Special Elements in Output Used by a Downstream Component weakness
  • CWE-829 Inclusion of Functionality from Untrusted Control Sphere weakness

References