Skip to content

GHSA-x962-w72p-mv7q CVE-2013-4729

phpMyAdmin Global variables scope injection vulnerability

Medium Packagist
Severity
5.4 / 10
Medium · CVSS 3.1
Exploit chance (EPSS)
1.05%
Chance of exploitation in the next 30 days. Higher than 64.43% of scored vulnerabilities.
Known exploited
No
Not in CISA's catalog
Weakness
CWE-621 Variable Extraction Error
Fix
4.0.4.1
Upgrade phpmyadmin/phpmyadmin to this version or later

Description

import.php in phpMyAdmin 4.x before 4.0.4.1 does not properly restrict the ability of input data to specify a file format, which allows remote authenticated users to modify the GLOBALS superglobal array, and consequently change the configuration, via a crafted request.

Affected versions

Packagist

PackageVulnerableFixed in
phpmyadmin/phpmyadmin
>= 4.0, < 4.0.4.1
4.0.4.1

How to fix

Move to the fixed version or later with your package manager, update the lockfile, and run your tests. If the package only arrives through another dependency, upgrade that dependency first. If none of its releases pulls a fixed version yet, force the version with your package manager's override.

phpmyadmin/phpmyadmin Packagist → 4.0.4.1

composer
composer require phpmyadmin/phpmyadmin:^4.0.4.1

Severity breakdown

CVSS 3.1 5.4

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L

Attack vector
Network
Attack complexity
Low
Privileges required
Low
User interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
Low
Availability
Low

Weakness

CWE-621: Variable Extraction Error

The product uses external input to determine the names of variables into which information is extracted, without verifying that the names of the specified variables are valid. This could cause the program to overwrite unintended variables.

How to prevent it
  • Implementation: Use allowlists of variable names that can be extracted.
  • Implementation: Consider refactoring your code to avoid extraction routines altogether.
  • Implementation: In PHP, call extract() with options such as EXTR_SKIP and EXTR_PREFIX_ALL; call import_request_variables() with a prefix argument. Note that these capabilities are not present in all PHP versions.

References

Timeline

  1. Published
  2. Last updated by the source
  3. Latest EPSS score
AdvisorySeverityWhy it's related
GHSA-222v-cx2c-q2f5
phpMyAdmin XSS when checking tables
Medium Also affects phpmyadmin/phpmyadmin
GHSA-6hr3-44gx-g6wh
Cross-site Scripting vulnerability in drag-and-drop upload of phpMyAdmin
Medium Also affects phpmyadmin/phpmyadmin
GHSA-prcg-mc23-hgjh
phpmyadmin contains SQL Injection vulnerability
Critical Also affects phpmyadmin/phpmyadmin
GHSA-4c9q-64gq-xhx4
phpMyAdmin Cross-Site Request Forgery (CSRF)
Medium Also affects phpmyadmin/phpmyadmin
GHSA-7ff4-cv53-4cjq
phpMyAdmin SQL injection vulnerability
Critical Also affects phpmyadmin/phpmyadmin
GHSA-6349-53vr-7hcr
phpMyAdmin Cross-site Scripting (XSS)
Medium Also affects phpmyadmin/phpmyadmin
GHSA-h65r-8fp8-w7cx
phpMyAdmin SQL Injection
High Also affects phpmyadmin/phpmyadmin
GHSA-fcww-8wvc-38q9
phpMyAdmin SQL injection vulnerability
Medium Also affects phpmyadmin/phpmyadmin
Is this in your code?

MergeHarbor checks every repository's dependencies against this database, ranks what matters by exploitability and reachability, routes it to the owning team and opens the fix pull request.

Check your repos with MergeHarbor