CVE-2016-2041: phpMyAdmin Unsafe comparison of XSRF/CSRF token

phpmyadmin/phpmyadmin Updated 02 Oct 2025

Summary

14/05/2022
Yes i
High
7.5

CVE-2016-2041: phpMyAdmin Unsafe comparison of XSRF/CSRF token. Affects phpmyadmin/phpmyadmin across 3 version ranges.

>= 4.0, < 4.0.10.13 >= 4.4, < 4.4.15.3 >= 4.5, < 4.5.4

Fixed in 4.0.10.13, 4.4.15.3 or 4.5.4, depending on the release line you run. How to fix ↓

Also tracked for

The same CVE-2016-2041 is tracked separately for each ecosystem and vendor. Its fix information is the same; the package and affected versions differ.

Free scan

Check if this vulnerability affects your application

Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.

Check my app free

No signup required · Results in about 60 seconds

Sponsored MarkAI Find prospects already talking about the problem you solve AI watches the communities your customers use to find qualified prospects, then alerts you when a conversation is worth joining. See MarkAI

Background

phpMyAdmin is a popular open-source tool for managing MySQL databases. It provides a web-based interface that allows users to perform various database management tasks, such as creating tables, executing queries, and managing user permissions. The vulnerability identified as CVE-2016-2041 affects phpMyAdmin versions 4.0.x, 4.4.x, and 4.5.x. This vulnerability arises from the improper implementation of the comparison algorithm for Cross-Site Request Forgery (CSRF) tokens. CSRF tokens are used to prevent unauthorized actions by verifying the authenticity of requests. However, the vulnerable versions of phpMyAdmin use a non-constant-time algorithm for comparing these tokens, making it easier for attackers to bypass access restrictions by measuring time differences.

Vulnerability Detail

The vulnerability in phpMyAdmin allows remote attackers to bypass intended access restrictions by exploiting the insecure comparison of CSRF tokens. By measuring the time differences in token comparison, an attacker can determine the correct token value and perform unauthorized actions on the affected phpMyAdmin instance. This vulnerability poses a significant risk as it can lead to unauthorized data modification, deletion, or disclosure, depending on the privileges of the targeted user. The vulnerability has a CVSS score of 7.5, indicating a high severity level.

How To Fix

Fixed versions by release line

The minimum fixed version depends on the release line you run.

  • >= 4.0, < 4.0.10.13 4.0.10.13
    composer require phpmyadmin/phpmyadmin:4.0.10.13
  • >= 4.4, < 4.4.15.3 4.4.15.3
    composer require phpmyadmin/phpmyadmin:4.4.15.3
  • >= 4.5, < 4.5.4 4.5.4
    composer require phpmyadmin/phpmyadmin:4.5.4

Tip — Not sure which release line you're on? Vulert can find the fix for the version you are using. Scan free →

Workaround

If immediate updating is not possible, a temporary workaround can be implemented by modifying the affected phpMyAdmin code. The vulnerable code can be found in the 'libraries/common.inc.php' file. The comparison algorithm for CSRF tokens should be replaced with a constant-time algorithm, such as the 'hash_equals' function in PHP. Here is an example of the modified code:

// Replace the vulnerable token comparison code
if (hash_equals($token, $userToken)) {
    // Token comparison is secure
    // Rest of the code
}

It is important to note that applying this workaround is not a permanent solution and updating to the fixed versions is strongly recommended.

Conclusion

The vulnerability in phpMyAdmin versions 4.0.x, 4.4.x, and 4.5.x allows remote attackers to bypass access restrictions by exploiting the insecure comparison of CSRF tokens. To mitigate this vulnerability, it is crucial to update phpMyAdmin to the fixed versions (4.0.10.13, 4.4.15.3, or 4.5.4) that implement a secure comparison algorithm. Applying the temporary workaround of modifying the vulnerable code should only be considered if immediate updating is not feasible. For further assistance and support in vulnerability remediation, please contact DevNack.com.

See every vulnerability recorded for phpmyadmin/phpmyadmin →

Share this vulnerability

FAQ

phpMyAdmin is an open-source tool used for managing MySQL databases. It provides a web-based interface for performing various database management tasks.

A CSRF token is a security measure used to protect against Cross-Site Request Forgery attacks. It is a unique token generated for each user session and is included in requests to verify the authenticity of the request.

The vulnerability in phpMyAdmin arises from the insecure comparison of CSRF tokens. By measuring time differences in token comparison, an attacker can determine the correct token value and bypass access restrictions.

This vulnerability can lead to unauthorized actions on the affected phpMyAdmin instance, such as data modification, deletion, or disclosure, depending on the privileges of the targeted user.

The vulnerability has a CVSS score of 7.5, indicating a high severity level.

Related vulnerabilities

Recent vulnerabilities recorded for phpmyadmin/phpmyadmin.

How To Fix

Fixed versions by release line

The minimum fixed version depends on the release line you run.

  • >= 4.0, < 4.0.10.13 4.0.10.13
    composer require phpmyadmin/phpmyadmin:4.0.10.13
  • >= 4.4, < 4.4.15.3 4.4.15.3
    composer require phpmyadmin/phpmyadmin:4.4.15.3
  • >= 4.5, < 4.5.4 4.5.4
    composer require phpmyadmin/phpmyadmin:4.5.4

Tip — Not sure which release line you're on? Vulert can find the fix for the version you are using. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback