Live data from Hacker News

'123456' password exposed chats for 64M McDonald's job applicants

bleepingcomputer.com

11–20 of 81 posts

Re: '123456' password exposed chats for 64M McDonald's job applicants

#11
post #3

It sounds like there were two separate problems: The first was that 123456 was the credentials for the admin panel. The second was an insecure direct object reference, where the lead_id querystring parameter can be changed on an API call to retrieve another applicant's data.

A third problem that senior engineers might recognize: using numeric IDs on an outward facing object. UUIDs would have made this impossible as well

Not impossible, just more difficult to guess.

"Security through obscurity" isn't really good enough.

Re: '123456' password exposed chats for 64M McDonald's job applicants

#12
post #11

Earlier quoted context omitted.

A third problem that senior engineers might recognize: using numeric IDs on an outward facing object. UUIDs would have made this impossible as well

Not impossible, just more difficult to guess. "Security through obscurity" isn't really good enough.

Yes and…

UUIDs aren’t “just more difficult to guess.” They are inconceivably harder to guess.

> Put another way, one would need to generate 1 billion v4 UUIDs per second for 85 years to have a 50% chance of a single collision.

Re: '123456' password exposed chats for 64M McDonald's job applicants

#14
post #3

It sounds like there were two separate problems: The first was that 123456 was the credentials for the admin panel. The second was an insecure direct object reference, where the lead_id querystring parameter can be changed on an API call to retrieve another applicant's data.

123456 was both the username & password, they were hit by CWE-1392 because someone failed to change the default credentials.

Re: '123456' password exposed chats for 64M McDonald's job applicants

#15
post #3

It sounds like there were two separate problems: The first was that 123456 was the credentials for the admin panel. The second was an insecure direct object reference, where the lead_id querystring parameter can be changed on an API call to retrieve another applicant's data.

A third problem that senior engineers might recognize: using numeric IDs on an outward facing object. UUIDs would have made this impossible as well

Using numeric IDs on an outward facing object is, for the most part, totally fine. It's a serious tradeoff to ditch the nice properties of numerical IDs and the legibility they provide in order to cargo-cult a "we must reveal nothing" approach, as you would here via UUID. It also misses the point of the actual security lesson: no matter the identifier, you need to be applying access controls to your data. Even if your UUIDs were generated via 100% airtight cryptographically random sources, you have to, y'know, communicate with them. That means you'll probably leak them, expose them, or other folks will collect them (often incidentally via things like system logs). If all it takes to gain access to a thing is knowing the identifier of that thing, you've blown it in a huge way. Don't stress about the theoretical benefits of something like an opaque identifier and then completely neglect the necessary real world access control.

Can you tell I've been scarred by discussing designs with folks who focus on the "visible" problems without thinking about the fundamental question of "is this secure"?

Re: '123456' password exposed chats for 64M McDonald's job applicants

#16
post #5

Earlier quoted context omitted.

Maybe it includes applications outside the US?

They use this site for hiring globally. The number of privacy regulators they will have to notify and deal with is going to make this messy.

If this was disclosed via a vulnerability disclosure or bug bounty program and there are no indicators of a data breach then it's effectively like the findings from a pen-test so very likely no regulatory reporting requirements.

Re: '123456' password exposed chats for 64M McDonald's job applicants

#20

It's funny how mcdonalds did everything in their power to make it almost impossible to run their mcdonalds app on a rooted phone, but their backend infrastructure is beyond broken (security wise)

Btw, I wondered why they flight root on the phone at all?
Post reply on HN