Live data from Hacker News

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

bleepingcomputer.com

71–80 of 81 posts

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

#71
post #53

My favourite part form the original report was that paradox had no way to find their security team ( to contact) and their security page just had "We worry about security, so you don't have to." https://web.archive.org/web/20250208000940/https://www.parad...

Your favorite part? Are you sick? I can't imagine having a "favorite part" of any of this.

it’s a common expression to point out unbelievable moments in a story.

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

#72

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)

Why does one even need an app for a fast food restaurant?

Not McDonalds. But it is nice to browse options, make order list with whatever special selections like no onions, and just pay on phone for whole thing. Often being able to make the order when you are on the way and then pick it up soon after arriving.

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

#73
post #53

My favourite part form the original report was that paradox had no way to find their security team ( to contact) and their security page just had "We worry about security, so you don't have to." https://web.archive.org/web/20250208000940/https://www.parad...

Your favorite part? Are you sick? I can't imagine having a "favorite part" of any of this.

Chill out man, it’s a common ironic expression

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

#74

Earlier quoted context omitted.

You could also "just" have an internal-use only numeric ID, or use a UUIDv7.

or ULIDs or any other partially sortable ids.

ULIDs are sorta the opposite of the HMAC method, where you can't query for the nth ID, but you can sort the IDs.

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

#75
post #51
post #43

Earlier quoted context omitted.

UUIDv4 may or may not use a cryptographically secure random number generator. Python's UUID library, for example, falls back to the insecure 'random' module. Given a handful of outputs, it's possible to predict future ones.

Uh... Come again? def uuid4(): """Generate a random UUID.""" return UUID(bytes=os.urandom(16), version=4) https://github.com/python/cpython/blob/3.13/Lib/uuid.py

Nice. Looks like I was looking at an old version of the file. https://github.com/python/cpython/commit/09ba98436444d2a4e11...

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

#76
post #28

Earlier quoted context omitted.

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 you…

Yes it makes very little difference if I can see all your public published blog posts on a WordPress site by iterating the number.

Security by obfuscation is theater.

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

#77
There was also https://www.techspot.com/news/108619-mcdonalds.html

> Moreover, when Carroll attempted to alert Paradox to the breach, he was unable to find a security disclosure contact. The company's security page mostly consists of a simple assurance that users shouldn't need to worry about security. Eventually, after the researchers emailed "random people," Paradox and McDonald's confirmed that they resolved the issue in early July.

Shouldn't need to worry indeed. McDonald's evidently doesn't either.

Can someone tell them to put "Set a password a five-year-old child can't guess" onto their deployment checklist?

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

#78
post #75
post #51

Earlier quoted context omitted.

Uh... Come again? def uuid4(): """Generate a random UUID.""" return UUID(bytes=os.urandom(16), version=4) https://github.com/python/cpython/blob/3.13/Lib/uuid.py

Nice. Looks like I was looking at an old version of the file. https://github.com/python/cpython/commit/09ba98436444d2a4e11...

Yeah, Python went through a big shakeup around secure randomness when they put together the "secrets" library, around a decade ago. A lot of that also got backported on most OSs.

So there really shouldn't be anyone using that today, thankfully.

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

#79
post #69

Earlier quoted context omitted.

You could also "just" have an internal-use only numeric ID, or use a UUIDv7.

TIL about UUIDv7 -- thanks!

No worries! It's just now finally starting to get everywhere -- Postgres is going to get it in 18 by the looks of things :)

https://www.postgresql.org/docs/18/functions-uuid.html

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

#80
post #14

Earlier quoted context omitted.

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

The writeup never claimed that 123456:123456 were default credentials?

I've read more than just this particular writeup. See also: https://ian.sh/mcdonalds

> During a cursory security review of a few hours, we identified two serious issues: the McHire administration interface for restaurant owners accepted the default credentials 123456:123456, and an insecure direct object reference (IDOR) on an internal API allowed us to access any contacts and chats we wanted. Together they allowed us and anyone else with a McHire account and access to any inbox to retrieve the personal data of more than 64 million applicants.

Post reply on HN