p PatchFirst

GHSA-2x36-qhx3-7m5f

GHSA-2x36-qhx3-7m5f · ZendFramework1 Potential SQL injection in the ORDER implementation of Zend_Db_Select

This page contains facts from public vulnerability sources. Check the original advisory before updating.

The implementation of the ORDER BY SQL statement in Zend_Db_Select of Zend Framework 1 contains a potential SQL injection when the query string passed contains parentheses. For instance, the following code is affected by this issue: ``` $db = Zend_Db::factory( /* options here */ ); $select = $db->select() ->from(array('p' => 'products')) ->order('MD5(1); drop table products'); echo $select; ``` This code produce the string: ``` SELECT "p".* FROM "products" AS "p" ORDER BY MD5(1);drop table products ASC ``` instead of the correct one: ``` SELECT "p".* FROM "products" AS "p" ORDER BY "MD5(1);drop table products" ASC ``` The SQL injection occurs because we create a new Zend_Db_Expr() object, in presence of parentheses, passing directly the value without any filter on the string.

CVSS 9.8 · Critical · Fix available

Published
Updated

Stack: php

Affected products and versions

  • zendframework/zendframework1 Packagist

    Versions
    • 1.12.0
    • 1.12.1
    • 1.12.2
    • 1.12.3
    • 1.12.4
    • 1.12.5
    • 1.12.6
    Affected ranges
    • ECOSYSTEM: ≥ 1.12.0, < 1.12.7

    Update to 1.12.7

Original sources

Check your server →