On his blog today, Robert Peake
has a post with a fix
for a rather large issue with the Zen Cart software - a SQL injection vulnerability.
One thing that really irks me is when people publish security vulnerabilities they discover without publishing the fix. Doing so only benefits the hacker (most specifically, the script kiddie) community, begging the question, "which side are you on?" Whenver I discover a vulnerability or exploit, I make it a point to first and foremost contact the vendor (or group responsible if it is not a commercial product) and then only announce the exploit after a fix is available (if then).
Not enlisting vendor support or at very least describing how a vulnerability can be patched does not help users of that software unless they are savvy enough to figure out the fix on their own. One such example is the announcement of a SQL injection vulnerability in Zen-Cart <= 1.2.6d.
He Goes through the two steps needed to fix the issue, and includes substitution code to correct the injection problem. I definitely agree with his sentiment about reporting and trying to offer a fix for the problem before just sharing it with the world. Sure, there are the people out there that can spot the problem and offer up their own patch, but there seems to (unfortunately) be more out there that would rather abuse it...