A critical vulnerability in the popular WordPress plugin GamiPress has been uncovered, leaving users exposed to unauthenticated SQL injection attacks.
The issue, assigned the identifier CVE-2024-13496, carries a high CVSS 3.1 score of 7.5, indicating significant potential for exploitation.
CVE-2024-13496 was discovered during a security assessment of GamiPress version 7.2.1. The vulnerability affects all versions up to 7.3.1, making it imperative for users to update to the latest secure release.
As per a report by Abrahack, the vulnerability was identified in the wp_ajax_nopriv_{$action} hook, which allows unauthenticated access.
Specifically, the gamipress_get_logs AJAX endpoint was found to be vulnerable, as it retrieves logs of user interactions and accepts several parameters that could influence database queries.
The gamipress_ajax_get_logs function is crucial in this context. It uses the $_REQUEST array, which is passed into the gamipress_logs_shortcode function.
This function, in turn, uses the gamipress_logs_shortcode_query function to query the database via the CT_Query class.
function gamipress_ajax_get_logs() {
// Security check
check_ajax_referer( 'gamipress', 'nonce' );
// Set current page
if( isset( $_REQUEST['page'] ) && absint( $_REQUEST['page'] ) > 1 ) {
set_query_var( 'paged', absint( $_REQUEST['page'] ) );
}
$atts = $_REQUEST;
// Sanitize
foreach( $atts as $attr => $value ) {
$atts[$attr] = sanitize_text_field( $value );
}
// Send successful response
wp_send_json_success( gamipress_do_shortcode( 'gamipress_logs', $atts ) );
}
The vulnerability exploits the orderby HTTP Request parameter, which is passed unsafely into an SQL query.
Although limitations like stripping white spaces and disallowing single and double quotes are in place, attackers can still exploit this using carefully crafted payloads.
A boolean time-based SQLi payload was used to demonstrate the exploit. This type of payload can allow attackers to infer information about the database, even without directly extracting data.
The vendor addressed this vulnerability in version 7.3.2 by implementing a whitelist approach for the orderby parameter.
This ensures that only predefined columns in the gamipress_logs table can be used, effectively preventing SQL injection attacks.
This vulnerability highlights the importance of ensuring that user inputs are safely processed, particularly in WordPress plugins.
Users are urged to update their GamiPress installations to version 7.3.2 or later to protect against potential SQL injection attacks.
Investigate Real-World Malicious Links & Phishing Attacks With Threat Intelligence Lookup - Try for Free
The BPFDoor malware has emerged as a significant threat targeting domestic and international organizations, particularly…
As artificial intelligence continues to reshape the technological landscape, tools like Snowflake’s CORTEX Search Service…
UNC3944, a financially-motivated threat actor also linked to the group known as Scattered Spider, has…
Cybersecurity researcher has uncovered a massive malware campaign targeting MacOS users through approximately 2,800 compromised…
Cybersecurity researchers have uncovered a critical flaw in the content moderation systems of AI models…
Microsoft’s cybersecurity research team has issued a stark warning about the risks of using default…