Fabiano Amorim explains a vulnerability:
SQL injection inside Microsoft-signed system stored procedures is not supposed to happen. Yet, as I’ve been documenting in this series, it happens more often than you may assume.
This article walks through another one I found and reported to the Microsoft Security Response Center (MSRC). It’s a textbook SQL injection sitting inside
sys.sp_MSdeletefoldercontents, a system stored procedure used by SQL Server replication.What makes it interesting is not the injection technique itself (there is no clever Unicode trick this time), but what it enables: a working execution path for
xp_cmdshellon a server wherexp_cmdshellis explicitly disabled by configuration.
Admittedly, I kind of shrug my shoulders at this one as well. You already need to be sysadmin, and sysadmins can enable xp_cmdshell whenever. I understand that the point of Fabiano’s post is that the procedure call ignores xp_cmdshell’s status, so there’s something to it. But I have trouble thinking that the SQL Server team made the wrong call in deciding it’s a low-risk vulnerability.