There is no comfortable way for an organisation to learn that its website is leaking customer data but one of the most alarming must surely be getting that bad news from a journalist.
This is what appears to have happened to US communications giant Comcast Xfinity, which has had to patch two significant web vulnerabilities after Buzzfeed News learned of the issues from researcher Ryan Stevenson.
The first was found on the in-home authentication page through which customers can pay bills without the inconvenience of having to log in.
It seems the company authenticated users by asking them to choose their home address from one of four possibilities, selected by looking at one of the headers added to the HTTP request.
The HTTP header used to “identify” the user contained their public-facing Comcast IP address – data that isn’t suitable to use as a secret identifier.
An attacker who knew your IP number could therefore insert it into their own web requests, and keep refreshing the identification page – each time they refreshed, the list of home addresses returned would include your address plus three randomly chosen other addresses.
The address that showed up every time would, rather obviously, be yours – the attacker wouldn’t ever even need to guess and risk getting locked out.
This would seem to prove the maxim that while IP addresses might not in themselves be personal, when combined with other data they can easily become so – knowing someone’s IP number should not be enough to track them to their home.
The second issue, which builds on the first, was found on a sign-up page for Comcast authorised retailers.
Having used the first vulnerability to gain access to a customer’s address from their IP number, this page could allow an attacker to enter this to carry out a brute force attack to discover the last four digits of their US social security number (SSN).
After entering a valid address, an attacker could cycle through all 10,000 four-digit numbers (0000-9999) until one of them turned out to be the four digits that matched the customer’s SSN – there was no limit on the number of guesses or the speed at which they could be tried.
Again, why would this be useful? The weakness here is that a lot of businesses use the last four digits of the SSN to verify someone’s identity, which means that:
Hackers can use this four-digit combination to steal your identity by tricking customer service representatives into handing over online account access.
Theoretically, they might also be able to match those digits against full SSN numbers floating around on the dark web from older data breaches and perhaps narrow their search for full numbers.
Comcast has already fixed both flaws, and there is no evidence that anyone knew of or exploited them before they were discovered.
Nevertheless, what this incident remind us of is the importance of bug bounties. Although these programs are often seen as being a channel for researchers to report software flaws to vendors in return for money, web vulnerabilities and design weaknesses in websites can be just as important for security.
Surprisingly, although Comcast Xfinity provides a channel to report flaws, it doesn’t appear to run or be part of a third-party bounty program to receive news of either.
There was a time when no-one would have blinked at that approach but it’s tempting fate in an era when every and any vulnerability has a market value.