Lucene search

K
githubGitHub Advisory DatabaseGHSA-2X36-QHX3-7M5F
HistoryJun 07, 2024 - 10:24 p.m.

ZendFramework1 Potential SQL injection in the ORDER implementation of Zend_Db_Select

2024-06-0722:24:52
CWE-89
GitHub Advisory Database
github.com
2
zend framework
sql injection
order by
zend_db_select
security
vulnerability

8.2 High

AI Score

Confidence

Low

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.

Affected configurations

Vulners
Node
zendframeworkzendframework1Range<1.12.7
CPENameOperatorVersion
zendframework/zendframework1lt1.12.7

8.2 High

AI Score

Confidence

Low