Uporaba podobnih znakov Unicode za obhod avtentikacije
GitHub izkazalo se je je dovzeten za napad, ki vam omogoča zaseg dostopa do računa z manipulacijo znakov Unicode v e-pošti. Težava je v tem, da se nekateri znaki Unicode pri uporabi funkcij za pretvorbo malih ali velikih črk prevedejo v navadne znake, ki so si podobni po slogu (ko je več različnih znakov prevedenih v en znak – na primer turški znak "ı" in "i" " se pri pretvorbi v velike črke pretvorijo v "I").
Pred preverjanjem parametrov za prijavo v nekaterih storitvah in aplikacijah se podatki, ki jih posreduje uporabnik, najprej pretvorijo v velike ali male črke in nato preverijo v bazi podatkov. Če storitev dovoljuje uporabo znakov unicode v prijavi ali e-pošti, lahko napadalec uporabi podobne znake unicode za izvedbo napada, ki manipulira s trki v Unicode Case Mapping Collisions.
Napadalec na GitHub bi lahko prek obrazca za obnovitev pozabljenega gesla sprožite pošiljanje obnovitvene kode na drug e-poštni naslov tako, da v obrazcu navedete naslov, ki vključuje znak unicode, ki povzroči kolizijo (na primer namesto [e-pošta zaščitena] naveden je bil e-poštni naslov mı[e-pošta zaščitena]). Naslov je opravil preizkus, ker je bil pretvorjen v velike črke in se je ujemal z izvirnim naslovom ([e-pošta zaščitena] ), vendar je bilo ob pošiljanju pisma zamenjano takšno, kot je, obnovitvena koda pa poslana na lažni naslov (mı[e-pošta zaščitena]).
Nekaj znakov, kar povzroča trke pri pretvorbi registra:
ß 0x00DF SS
ı 0x0131 I
ſ 0x017F S
ff 0xFB00 FF
fi 0xFB01 FI
fl 0xFB02 FL
0xFB03 FFI
0xFB04 FFL
0xFB05 ST
0xFB06 ST
K 0x212A k