|
|
|
|
|
by qb45
3338 days ago
|
|
TL;DR: memcmp(received_passwd_hash, correct_passwd_hash, received_pwd_hs_len)
Hey, at least they didn't read past the submitted buffer.edit: Note that this is only pseudocode and rumor has it that ME firmware is actually written mostly in Java. It's not immediately clear to me how to create equivalent bug in Java, the obvious string.equals() method doesn't ignore length mismatch. edit2: s/passwd/passwd_hash to satisfy pedants below ;) |
|
Java Card, the Java version made for smart cards, does not have strings, and thus no String.equals().
Thought I remembered this from a CCC conference about EMV chips or SIM cards (don't remember which) a few years ago. Googling seems to confirm it: https://community.oracle.com/thread/1751610?db=5