The bounty was tied to a flaw in the implementation of OpenID, which has affected scores of websites since it was discovered in September 2012 by researcher Reginaldo Silva.
Facebook had used OpenID to allow users to access their accounts by logging into Gmail. After reading OpenID documentation, Silva(The bountry winner) learned that he could manipulate the process, known as a Yardis discovery, to replace Gmail for a provider he controlled.
With the alteration in place, he caused Facebook to issue a request to his URL, which replied with a request carrying malicious XML code.
The Facebook response included its etc/passwd which contained essential login information such as system adminstrator data and user IDs.
“By then I knew I had found the keys to the kingdom,” Silva wrote.
“After all, having the ability to read (almost) any file and open arbitrary network connections through the point of view of the Facebook server, and which doesn’t go through any kind of proxy was surely something Facebook wanted to avoid at any cost.”
Facebook still rewarded the researcher with the top bounty after confirming that his plans to escalate the bug would have been successful prior to the patch.
But the reward fell well short of what the bug was worth, CQR Consulting Chief Technology OPfficer Phil Kernick told ITnews.
“It’s a clever bug which relies on interactions between multiple components and use of a badly designed specification. So full marks to him,” Kernick said.
“On the other hand I think that the amount that they paid him is far below the economic value of the bug – and this is a fundamental problem with all bug bounty programs. He was honest, but could have made much more selling it.”
Silva pointed out to Facebook’s bug bounty team that its security chief Ryan McGeehan had told Bloomberg the company would pay out “a million-dollar bug” ahead of its deliberations as to the value of his vulnerability.
Facebook’s Bug Bounty team said it issued an alert to all on-call security staff when Silva’s well-written report of the XML external entities vulnerability was received.