phpMyAdmin 3.5.x/4.0.x privilege escalation

2013-07-30 / 2013-07-31
Risk: Medium
Local: No
Remote: Yes
CWE: CWE-269

CVSS Base Score: 6.5/10
Impact Subscore: 6.4/10
Exploitability Subscore: 8/10
Exploit range: Remote
Attack complexity: Low
Authentication: Single time
Confidentiality impact: Partial
Integrity impact: Partial
Availability impact: Partial

PMASA-2013-15 Announcement-ID: PMASA-2013-15 Date: 2013-07-28 Updated: 2013-07-30 Summary SQL injection vulnerabilities, producing a privilege escalation (control user). Description Due to a missing validation of parameters passed to schema_export.php and pmd_pdf.php, it was possible to inject SQL statements that would run with the privileges of the control user. This gives read and write access to the tables of the configuration storage database, and if the control user has the necessary privileges, read access to some tables of the mysql database. Severity We consider these vulnerabilities to be serious. Mitigation factor These vulnerabilities can be triggered only by someone who logged in to phpMyAdmin, as the usual token protection prevents non-logged-in users from accessing the required form. Moreover, a control user must have been created and configured as part of the phpMyAdmin configuration storage installation. Affected Versions Versions 3.5.x (prior to and 4.0.x (prior to are affected. Solution Upgrade to phpMyAdmin or or apply the patches below. pmd_pdf.php @@ -9,6 +9,13 @@ require_once 'libraries/pmd_common.php'; /** + * Validate vulnerable POST parameters + */ +if (isset($_POST['scale']) && ! PMA_isValid($_POST['scale'], 'numeric')) { + die('Attack stopped'); +} + +/** * Sets globals from $_POST */ $post_params = array( schema_export.php @@ -2362,7 +2362,7 @@ function PMA_displayTable(&$dt_result, &$the_disp_mode, $analyzed_sql) } $message = PMA_Message::success(__('Showing rows')); - $message->addMessage($first_shown_rec); + $message->addMessage(htmlspecialchars($first_shown_rec)); if ($message_view_warning) { $message->addMessage('...', ' - '); $message->addMessage($message_view_warning);


Vote for this issue:


Thanks for you vote!


Thanks for you comment!
Your message is in quarantine 48 hours.

Comment it here.

(*) - required fields.  
{{ x.nick }} | Date: {{ x.ux * 1000 | date:'yyyy-MM-dd' }} {{ x.ux * 1000 | date:'HH:mm' }} CET+1
{{ x.comment }}

Copyright 2020,


Back to Top