Hoşgeldin Misafir

openSIS 7.4 Multiple SQL Injection Vulnerabilties

Asım Gürsoy

mersin
27 Mar 2020
8,833 Mesaj

Aktiflik

Seviye

Deneyim

TIM / GÖREV:
openSIS 7.4 Multiple SQL Injection Vulnerabilties--


Kod:
-----------------------------------------------------
openSIS <= 7.4 Multiple SQL Injection Vulnerabilities
-----------------------------------------------------
 
 
[-] Software Link:
 
https://opensis.com/
 
 
[-] Affected Versions:
 
Version 7.4 and prior versions.
 
 
[-] Vulnerabilities Description:
 
The application is affected by multiple SQL Injection vulnerabilities, 
following are some examples:
 
1) User input passed through the "api_key" and "api_secret" parameters 
to '/api/SchoolInfo.php',
'/api/StaffInfo.php', and '/api/StudentEnrollmentInfo.php' is not 
properly sanitized before being
used to construct a SQL query. This can be exploited by unauthenticated 
attackers to e.g. read
sensitive data from the database through error-based SQL Injection 
attacks.
 
2) User input passed through the "event_id" parameter to 
'/CalendarModal.php' is not properly
sanitized before being used to construct a SQL query. This can be 
exploited by remote attackers
to e.g. read sensitive data from the database through in-band SQL 
Injection attacks.
 
3) User input passed through the "course_id" parameter to 
'/modules/scheduling/MassSchedule.php'
is not properly sanitized before being used to construct a SQL query. 
This can be exploited by
remote attackers to e.g. read sensitive data from the database through 
SQL Injection attacks.
 
4) User input passed through the "student" parameter to 
'/modules/attendance/AddAbsences.php'
is not properly sanitized before being used to construct a SQL query. 
This can be exploited by
remote attackers to e.g. read sensitive data from the database through 
SQL Injection attacks.
 
NOTE: certain SQL Injection vulnerabilities in openSIS - like (3) or (4) 
- could also be
abused to execute arbitrary PHP code due to an unsafe use of the 
"eval()" PHP function
within the "DBGet()" function defined in the '/functions/DbGetFnc.php' 
script.
 
 
[-] Solution:
 
Upgrade to version 7.4 to remediate vulnerabilities (1) and (2).
No official solution is currently available for the other 
vulnerabilities.
 
 
[-] Disclosure Timeline:
 
[04/11/2019] - Vendor notified
[04/11/2019] - Vendor acknowledgement
[10/01/2020] - Vendor contacted again asking for updates
[15/01/2020] - Vendor replied they would need a few examples
[20/01/2020] - Told the vendor they could use the PoC I sent them in 
November
[05/02/2020] - Vendor asked for a video recording to demonstrate the 
vulnerabilities
[06/02/2020] - Proof of Concept video sent to the vendor
[06/02/2020] - Vendor informed about the correct fix for (1) and (2) 
with commit https://git.io/JJf4L
[03/03/2020] - Vendor contacted again asking for updates about the other 
vulnerabilities
[04/03/2020] - Vendor replied "we just have to wait a little longer"
[25/04/2020] - Version 7.4 released, vulnerabilities still not fixed
[22/05/2020] - CVE numbers assigned
[30/06/2020] - Public disclosure
 
 
[-] CVE Reference:
 
The Common Vulnerabilities and Exposures project (cve.mitre.org)
has assigned the name CVE-2020-13380 to vulnerabilities (1) and (2),
and name CVE-2020-13381 for the other vulnerabilities.
 
 
[-] Credits:
 
Vulnerabilities discovered by Egidio Romano.
 
#  0day.today [2020-07-02]  #