LotusCMS multiple vulnerabilities
A weakness and multiple vulnerabilities have been discovered in LotusCMS, which can be exploited by malicious users to disclose sensitive information and compromise a vulnerable system and by malicious people to conduct cross-site scripting and request forgery attacks, disclose sensitive information, and compromise a vulnerable system, according to Secunia.
1. Input passed via the “active” parameter to index.php (when “system” is set to “Users” or “Editor” and “page” is set to “edit” or “editor”) is not properly sanitised before being returned to the user. This can be exploited to execute arbitrary HTML and script code in a user’s browser session in context of an affected site.
2. The application allows users to perform certain actions via HTTP requests without making proper validity checks to verify the requests. This can be exploited to e.g. add an administrator to the application or conduct script insertion attacks by tricking an administrator into visiting a malicious web site while being logged-in to the application.
3. The “saveFile()” function in core/lib/cacher.php script displays different error messages depending on the existence of a user passed via the “page” parameter to index.php. This can be exploited to enumerate existing users of the system via directory traversal sequences.
4. The application stores backup files with a predictable file name inside the web root, which can be exploited to disclose sensitive information by downloading the file.
5. Input passed via the “active” parameter to index.php (when “system” is set to “Editor” and “page” is set to “editor”) is not properly verified before being used to read files. This can be exploited to read arbitrary files from local resources via directory traversal sequences and URL-encoded NULL bytes.
Successful exploitation of this vulnerability requires “editor” access and that “magic_quotes_gpc” is disabled.
6. Input passed via the “page” parameter to index.php is not properly verified in the “openFile()” function in core/model/PageModel.php before being used to read files. This can be exploited to read arbitrary files from local resources via directory traversal sequences and URL-encoded NULL bytes.
Successful exploitation of this vulnerability requires that “magic_quotes_gpc” is disabled.
7. The vulnerability is caused due to the “FileManger” module not properly validating uploaded file types, which can be exploited to execute arbitrary PHP code by uploading a PHP file.
Successful exploitation of this vulnerability requires “editor” access.
8. Input passed via the “req” parameter to index.php (when system” is set to “Modules”, “page” is set to “admin”, and “active” is set to Menu”) is not properly sanitised before being used in an “eval()” call. This can be exploited to execute arbitrary PHP code.
Successful exploitation of this vulnerability requires “editor” access.
9) Input passed via the “page” parameter to index.php is not properly sanitised in the “Router()” function in core/lib/router.php before being used in an “eval()” call. This can be exploited to execute arbitrary PHP code.
Successful exploitation of this vulnerability requires that “magic_quotes_gpc” is disabled.
The vulnerabilities are confirmed in version 3.0.3. Other versions may also be affected.
Solution
Update to version 3.0.5, which fixes vulnerabilities #1, #3, #5, and #6. Do not browse untrusted web sites or follow untrusted links while being logged-in to the application. Restrict access to the modules/Backup/zips directory (e.g. via .htaccess). Grant only trusted users “editor” access. Edit the source code to ensure that input is properly sanitized.