GitHub heeft blootgesteld aan een aanval die toegang tot het account kan overnemen door manipulatie van Unicode-symbolen in e-mail. Het probleem heeft te maken met het feit dat sommige Unicode-symbole bij het toepassen van functies voor het omzetten naar hoofd- of kleine letters worden omgezet in gewone symbolen die qua uiterlijk dicht bij elkaar liggen (wanneer verschillende symbolen in één symbool worden omgezet — bijvoorbeeld, het Turkse symbool «ı» en «i» worden bij omzetting naar hoofdletters «I»).
Voordat de inlogparameters in sommige diensten en applicaties worden gecontroleerd, worden de door de gebruiker ingevoerde gegevens eerst omgezet naar hoofd- of kleine letters en vervolgens in de database gecontroleerd. Als de dienst het gebruik van Unicode-symbolen in de inlognaam of e-mail toestaat, kan de aanvaller vergelijkbare Unicode-symbolen gebruiken om een aanval uit te voeren die manipuleert met conflicten in de conversietabellen van hoofdletters (Unicode Case Mapping Collisions).
‘ß’.toUpperCase() == ‘ss’.toUpperCase() // 0x0131
‘K’.toLowerCase() == ‘K’.toLowerCase() // 0x212A
‘John@Gıthub.com’.toUpperCase() == ‘John@Github.com’.toUpperCase()
Op GitHub kon de aanvaller ıke@example.org) opgegeven. Het adres is goedgekeurd omdat het werd omgezet naar hoofdletters en overeenkwam met het oorspronkelijke adres (mike@example.org), maar bij het verzenden van de e-mail werd het zoals het is doorgegeven en ging de herstelcode naar het valse adres (mke@example.org).ke@example.org) opgegeven. Het adres is goedgekeurd omdat het werd omgezet naar hoofdletters en overeenkwam met het oorspronkelijke adres (mike@example.org), maar bij het verzenden van de e-mail werd het zoals het is doorgegeven en ging de herstelcode naar het valse adres (mSommige van
symbolen ß 0x00DF SS
ı 0x0131 I
ſ 0x017F S
ff 0xFB00 FF
fi 0xFB01 FI
fl 0xFB02 FL
ffi 0xFB03 FFI
ffl 0xFB04 FFL
ſt 0xFB05 ST
st 0xFB06 ST
K 0x212A k
Nieuwe versie van Cygwin 3.1.0, GNU-omgeving voor Windows
Bron: opennet.ru
