What happens when you send a zero-day to a bank?

By William Entriken

4 minutes

In October 2008, shortly after introduction of the original iPhone I wanted to know if it is possible to trade stocks using my Zecco trading account (now TradeKing). Surely this would be simple enough because Zecco executed trades through a website and iPhone has the Safari browser.

Quickly I found out that the trade is executed in a (laughably) insecure method. For your reference, here it is:

<img src="https://trading.zecco.com/zecco/execOrder.nexa?action=1&quantity=1&symbol=kkd&instruction=1&price=&stopPrice=&timeInForce=2&styleSheet=OrderSent">

If you loaded that code from ANY web page, or if somebody sent you an email with that code (even if you never open the email) then you would be the unwitting owner of one share of Krispy Kreme Donuts placed at market order pricing.

Very quickly I realized this is bad, very bad. Anybody could include this code on a popular Myspace page (or even as a COMMENT on a popular page and have a serious impact on the financial system.)

First contact

The next day, I phoned the Zecco office with message to Jeff Chamberlain, and Jeroen Veth to arrange a phone call.

During the week of 2008-01-06 I held phone conferences with Jeff Chamberlain (Fraud Prevention Manager), Jeroen Veth (Founder and CEO), Michael Raneri (then CTO, later promoted to CEO and now Managing Director - PwC), Phil (Penson Bank, their software vendor), Greg (VP of Engineering) Loren Cheng (NCFTA) and the United States Federal Bureau of Investigation (representing NCFTA).

On the phone call I presented that one line of code which innocuously would allow me to purchase Krispy Kreme on an iPhone. But also we discussed the ramification of their insecure implementation. Penson confirmed that this software was affecting over 100,000 North American retail branches (I will not say which). Also their engineers made it clear that unauthorized transactions like this and later shown below would not be distinguishable from other legitimate transactions.

During our conversation, Chamberlain, Veth and Raneri made it very clear their sole intention was to prevent public disclosure of this incident, rather than actually fix the problem.

Raneri questioned my motivation and I said that I want to give the vendor ample time to resolve the issue and then I want to publish academically. He was very threatened by this and made thinly veiled threats that the FBI or other institutions would “protect him”. Then he continued with statements including “we want to hire you but you must sign this NDA first.” He also recommended that I only make disclosure through FINRA, SDI, NCTFA and other private fraud threat sharing organizations for financial institutions.

The full timeline

If you have made any transaction with ZECCO / TradeKing / Penson between 2005 and present you may wish to contact an attorney to understand if that transaction was made without your permission and under the gross negligence of the company’s management.

What would you do?

My dad was on the original call (to everyone’s knowledge) and he recognized the threat that apparently the FBI would be coming to our house if I disclosed this. So I signed the NDA on 2008-10-27. In direct violation of the NDA I am also posting it publicly now in the public interest.

NDA 1

NDA 2

Further reading

Comments

There are no comments yet.

Please discuss this topic anywhere and let me know any great comments or media coverage I should link here.