Impero Education Pro classroom management software vulnerable to remote code execution
Vulnerability Note VU#549807
Original Release Date: 2015-09-09 | Last Revised: 2015-09-10
Overview
Impero Software Education Pro classroom management software is vulnerable to remote code execution via improper encryption and authentication mechanisms.
CWE-329: Not Using a Random IV with CBC Mode - CVE-2015-5997
According to the reporter, Impero uses a custom encryption protocol derived from AES-128 CBC. However, the AES implementation uses a hard-coded encryption key and initialization vector that are both derived from the SHA512 of the string "Imp3ro". Use of these hard-coded encryption values common to all instances of Impero allows an attacker to decrypt packets.
According to the reporter, authentication is performed only by sending the message "-1|AUTHENTICATE\x02PASSWORD". As this message may be spoofed once the encryption method is known, this authentication method is insufficient properly perform authentication.
Once authentication is gained, the attacker may execute Impero commands. These Impero commands include the ability to run programs with SYSTEM privileges, which an attacker may be able to use to remotely execute code.
According to Impero Software, Impero 5008 and below are vulnerable.
Impact
A remote unauthenticated attacker may be able to execute commands on the machine running Impero.
Solution
Apply an update
Impero has released Impero 5105 to address this issue. Affected users are encouraged to update to Impero 5105 or later as soon as possible. Affected users may contact Impero Software support for more information and to obtain the update.