[VIM] verify of ViArt Shop Free 2.5.5 issue (diff digging)
Steven M. Christey
coley at mitre.org
Mon Jun 12 17:09:24 EDT 2006
Refs:
BUGTRAQ:20060607 [NOBYTES.COM: #12] ViArt Shop v2.5.5 - XSS Vulnerability
URL:http://www.securityfocus.com/archive/1/archive/1/436415/100/0/threaded
SECUNIA:20538
URL:http://secunia.com/advisories/20538
The Bugtraq post links to the following fix:
http://www.codetosell.com/downloads/xss_fix.zip
whose name is probably sufficient enough to prove an acknowledgement
of this report, but...
The xss_fix.zip file contains 3 executables:
block_forum_topic_new.php
block_forum_topics.php
block_reviews.php
Downloading the original 2.5.5 files (still available on the vendor
web site) and doing a diff with the fix yields results such as this
one for block_forum_topic_new.php:
< $sql .= " WHERE forum_id=" . $db->tosql($forum_id, INTEGER);
---
> $sql .= " WHERE forum_id=" . $forum_id;
These are in the forum_topic_new function. But before we get to that
point, we have:
$forum_id = get_param("forum_id");
So, we have an SQL injection problem here.
Back to the XSS.
For block_reviews.php we have the reviews function:
< $t->set_var("column_id", htmlspecialchars($column_id));
< $t->set_var("column_name", htmlspecialchars($column_name));
---
> $t->set_var("column_id", $column_id);
> $t->set_var("column_name", $column_name);
and $column_id comes from:
$column_id = get_param("item_id");
Note - based on surface level analysis, $column_name is only set to
static values.
and for the forum_topics_show function in block_forum_topics.php we
have:
< $forum_topic_new_url = "forum_topic_new.php?forum_id=" . urlencode($forum_id);
---
> $forum_topic_new_url = "forum_topic_new.php?forum_id=" . $forum_id;
and this is called from forum.php.
*phew* that hurt.
- Steve
More information about the VIM
mailing list