Multiple vulnerabilities in TietoEnator's Procapita school administration system, at least version "842 Procapita 840SP1"


Product: Procapita (school administration system) Vendor: TietoEnator Abp Vulnerable versions: unknown Impact: high Found: months ago The login screens of the school administration database system, "login.asp" and "inloggning.asp", as used in an unnammed school district in Finland, contain SQL injection vulnerabilities, which can be easily detected by inserting '||' (the oracle string concatenation operator and ending and starting quotes) within a valid password or username (they still work), or adding an odd number of quotes (resulting in an exception). The "input validation" in JavaScript must be "defeated" first - there is no signs of any validation done server side. The program also contains other SQL injection vulnerabilities in text fields etc. accessible after login - especially ones that are used to search for information, which may allow compromise of sensitive personal information in the database via injection to a SELECT query. The program prints exception handlers to the browser, including Oracle database error strings. The session cookie lacks the 'secure' flag, and if a logged-in user clicks a link with the http: scheme (such links exist in the school district's web pages) the cookie will be sent in plain text. The session cookie is not tied to the visitor's IP address. The program contains pages that automatically print themselves using JavaScript, leading to possible unintended printing of private information to a network printer since users are accustomed to clicking "OK". The program gives the user no way of changing the password or disabling the login. The un-changeable password generated by the system is alphanumeric and only six characters. The versioning of the program is so vague (the pages have either no version information at all or conflicting information) that it is impossible to say which versions are vulnerable, especially since I have no access to multiple installations, any docs or source. The vulnerabilities have been reported to the vendor when they were found. Exploits: None known Fix: Modify code to properly sanitize user input server side.