Multiple vulnerabilities have been discovered in BrewBlogger, which can be exploited by malicious users to compromise a vulnerable system and by malicious people to conduct cross-site scripting, cross-site request forgery, and SQL injection attacks.
1) Input passed via the "style" parameter to index.php (when "page" is set to "brewBlogList") 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) Input passed via the "styleNumber" and "filterStyle" parameters to sections/reference.inc.php (when "source" is set to "log" and "section" is set to "styles") is not properly sanitised before being used in SQL queries. This can be exploited to manipulate SQL queries by injecting arbitrary SQL code.
3) The admin/includes/upload_image.inc.php script is not properly validating uploaded files, which can be exploited to execute arbitrary PHP code by uploading a PHP file.
4) The application allows users to perform certain actions via HTTP requests without performing proper validity checks to verify the requests. This can be exploited to e.g. change the password of a user when a logged-in user visits a specially crafted web page.
The vulnerabilities are confirmed in version 2.3.2. Other versions may also be affected.
Vulnerable Products
Vulnerable Software: BrewBlogger 2.x
Solution
A fix for vulnerability #2 is available via SourceForge. Edit the source code to ensure that input is properly sanitised and verified. Do not browse untrusted sites or follow untrusted links while being logged-in to the application.