CVE-2024-37906: Admidio has Blind SQL Injection in ecard_send.php
Description: An SQL Injection has been identified in the /admprogram/modules/ecards/ecardsend.php source file of the Admidio Application. The SQL Injection results in a compromise of the application's database. The value of ecardrecipients POST parameter is being directly concatenated with the SQL query in the source code causing the SQL Injection.
The SQL Injection can be exploited by a member user, using blind condition-based, time-based, and Out of band interaction SQL Injection payloads. I successfully exploited SQL Injections by causing Time Delays. Advancing the payload, I was able to exfiltrate data from the database based on trial and error conditions and step-wise enumerating the characters of the database name. This was done as a POC of SQL Injection. An attacker could simply drop the database by providing a single payload, steal data, and potentially update the database according to their will.
Impact: SQL injection (SQLi) vulnerabilities can have serious consequences for the security of a web application and its underlying database. Attackers can use SQLi to access sensitive data, and modify, delete, or add data to the database. SQLi can also be potentially used to perform RCE.
Remediation: Use parameterized queries or prepared statements instead of concatenating user input directly into SQL queries. Parameterized queries ensure that user input is treated as data and not executable queries. OR Sanitize the input before including it in the SQL Query.
Steps to Reproduce: - Intercept the POST request to /admprogram/modules/ecards/ecardsend.php, which is used to send photo as greeting card. - Change the value of ecardrecipients%5B%5D POST parameter to 2%2bsleep(10). - Sending the request will cause a time delay.
Proof Of Concept:
!image Figure 1: Code Vulnerable to SQL Injection
!image Figure 2: Code Vulnerable to SQL Injection
!image Figure 3: SQLi to trigger time delay
!image Figure 4: Data Exfiltration via Condition-based Time Delays
Other sources
Admidio is a free, open source user management system for websites of organizations and groups. In Admidio before version 4.3.9, there is an SQL Injection in the /admprogram/modules/ecards/ecardsend.php source file of the Admidio Application. The SQL Injection results in a compromise of the application's database. The value of ecardrecipients POST parameter is being directly concatenated with the SQL query in the source code causing the SQL Injection. The SQL Injection can be exploited by a member user, using blind condition-based, time-based, and Out of band interaction SQL Injection payloads. This vulnerability is fixed in 4.3.9.
— MITRE
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2024-37906?
CVE-2024-37906 is categorized as a high-severity vulnerability due to the potential for SQL Injection leading to database compromise.
How do I fix CVE-2024-37906?
To fix CVE-2024-37906, upgrade the Admidio application to version 4.3.9 or later.
Which file is affected by CVE-2024-37906?
The vulnerability CVE-2024-37906 affects the '/adm_program/modules/ecards/ecard_send.php' file in the Admidio application.
What is the impact of CVE-2024-37906?
The impact of CVE-2024-37906 allows attackers to execute arbitrary SQL queries, potentially compromising the database and sensitive data.
Is CVE-2024-37906 already mitigated in the latest versions?
Yes, CVE-2024-37906 is mitigated in Admidio version 4.3.9 and later releases.