Live data from Hacker News

Klarna users are being signed in to random accounts

twitter.com

271–280 of 517 posts

Re: Klarna users are being signed in to random accounts

#271

Earlier quoted context omitted.

not only that, but they aren't a great predictor of actual job performance

Depends on the job actually. (I know this will be unpopular but in my experience hiring for certain roles it is correlated)

This is exactly why these IQ-test companies make so much money. It gives out yeses and no:s confirmation bias does the rest.

Quickly why they don't work:

You create a huge chain correlational assumptions. First that visual-spatial tasks of this kind predict performance on visual tasks. 2. That performance on visual tasks predict general intelligence (whatever that is). 3. That this notion of general intelligence (which is usually and arbitrarily defined not to include social skills) actually correlates with the tasks that you think the person will be performing, and finally that your idea of what the role has an impact on the company. Of course it is completely absurd, what they are selling is snake oil, plain and simple.

The remedy I recommend is simple, talk to the person - do it and you will be able to tell within 5 minutes.

Re: Klarna users are being signed in to random accounts

#273
post #268
post #249

Earlier quoted context omitted.

Looks like people are really offended by this. Agile lately has been looked at this silver bullet for software engineering. I have worked both in Cisco and some good startups and in my humble opinion having fast paced development and high feature churn rate really is unsuitable for a bank and other infrastructure companies. Also by hipster, I mean that the banks don't have luxury to experiment with latest trends and…

I don't understand your perspective here. Debates about Agile have gone on for ages, that's not a 'lately' thing. I have no idea what 'hipster' has to do with banks and tools... or what you mean by 'old proven methods'.

Not looking for a debate myself :)

Re: Klarna users are being signed in to random accounts

#275

Klarna has posted a statement here https://www.klarna.com/uk/blog/written-statement-on-app-bug/

In their statement they deny accessing bank details:

> The bug led to random user data being exposed to the wrong user when accessing our user interfaces. It is important to note that the access to data has been entirely random and not showing any data containing card or bank details (obfuscated data was visible). This means that it has been impossible to access a specific user’s data.

This is not the experience of the user in the OP: https://twitter.com/esraefe/status/1397843949985931265

Re: Klarna users are being signed in to random accounts

#276

Interesting that all the screenshots have a (typically) female name, and the reporter seems female. Could be chance of course, but a quite low likelihood if the sampling is truly random... Can’t help thinking what kind of bug could cause that. :)

> quite low likelihood if the sampling is truly random... If you're assuming their user base is 50/50 male/female, which for many apps is not a valid assumption. If I remember how to do math correctly, 50/50 gives 5 random users all being female ~4%. And 80/20 split is closer to 40%.

True. My implicit assumption was 50/50 or predominantly male, but I could be wrong of course.

4% is a pretty low likelihood though. Far below the level that would warrant further exploration in this kind of situation.

Re: Klarna users are being signed in to random accounts

#277

Klarna has posted a statement here https://www.klarna.com/uk/blog/written-statement-on-app-bug/

They mentioned human error. I could feel bad for the human who error-ed, but I wonder what kind of human error could have this huge impact.

It could be something to do with cache configuration.

Re: Klarna users are being signed in to random accounts

#278
post #257

Having at least authenticated sections of your site use HTTPS was standard well before 2011.

That only protects the user's password. The auth cookie will be sent in all subsequent requests in plain text.

EDIT: that's how firesheep (https://en.wikipedia.org/wiki/Firesheep) hijacked sessions for e.g.

Re: Klarna users are being signed in to random accounts

#279

Earlier quoted context omitted.

I'm sorry what?

It’s a joke about the pattern of questions

It also assumes that one knows that rabies can cause hydrophobia:

https://biology.stackexchange.com/questions/16749/why-does-r...

Re: Klarna users are being signed in to random accounts

#280
post #253

As a software engineer, I hate when I add a check for something "that will never happen" but that if happens is awful, and people complain. A classic example: you need to get a user from a session, check against a database, and continue if they're signed in. Then I add a simple if databaseUser.Username != form.Username and people will say "if that happens we've something worse wrong". Geez, something might be wrong a…

I think there's merit in objecting to "that will never happen" checks in some cases (though, to be clear, I'm not saying the people objecting to your code are thinking about the same thing I am).

Specifically, if you have data that is loaded from some other source, your extra safety check might be checking data that's loaded from the same source, in a way where if something did go wrong, it went wrong in both places you're checking.

In this case, it seems pretty unlikely that Klarna's bug was that they ran "SELECT * FROM users WHERE Username = 'joeuser'" and they got back a row where Username != 'joeuser'. I don't think there's a recorded case of that ever happening with databases.

However, it seems much more likely that Klarna's bug was in HTTP caching or something, that results were returned for the wrong user. Then there's no opportunity to see databaseUser.Username != form.Username: that check would have indicated that things are correct, but the username being passed into this code was wrong in the first place. That sort of problem definitely happens in the wild - see the "Kenneth" story elsewhere in these comments, or off the top of my head https://blog.zulip.com/2021/03/20/zulip-cloud-security-incid... from two months ago.

And if it is, somehow, a database bug, why do you trust the database at that point? What if the database returns part of one row and part of another? What if it returns the username you sent in because of some optimization to avoid copying data, but thanks to a bug (or a cosmic ray) it reads in the rest of the data from an unrelated row? In the unlikely but not totally impossible case that you need to protect yourself against this, validating the username isn't enough; you'd better sign the entire database row and validate the signature before trying to use any of the data that's been returned. (And come up with some reason why you trust your own app code more than the database.)

The problem with such "silly assertions" is that they make you feel like you've added test coverage, when the thing you're testing is something like a database that is extensively tested by its vendor and by everyone else using the database, and there are other seams in your code which are much more likely to break. Meanwhile, they make the code longer and harder to read, which prevents readers of the code from easily identifying what those seams are.

(And by slowing down the API endpoint that talks to the database, it motivates other developers to try to put some caching in front of that endpoint, which may actually cause this sort of problem!)

Post reply on HN