Nitesh Dhanjani publikoval zajímavý článek o nebezpečném zpracování URL schémat v systému iOS. O co jde? Každá aplikace v iOS, která potřebuje přijímat nějaká data od jiné aplikace, například když si v adresáři vyhledáte osobu a chcete jí zavolat, pak adresář odešle telefonní číslo (nebo identifikátor uživatele, nebo cokoliv jiného) příslušné aplikaci a ta se postará o zavolání. Potíž je v tom, že aplikaci může zavolat jakákoliv jiná aplikace (což je správně), bohužel to však může provést i webový prohlížeč (což již úplně správně není).
Pokud bude v internetové stránce iframe příkaz s parametrem src="tel:1-408-555-5555", prohlížeč spustí telefon a začne volat příslušné číslo. Tedy, pokud si aplikace neověří, pokud to je skutečně to co uživatel chce a potřebuje. V případě Applovského telefonu to funguje správně. (Telefon se zeptá, zda opravdu chcete volat zmiňované číslo.)
V případě Skypu, to však ale správně nefunguje (a nejen u něj) a pokud zadáte skype://14085555555?call, Skype začne vytáčet toto číslo (pokud máte zaplacenou službu telefonování na pevnou linku).
Hlavním problém je v tom, že aplikace třetích stran se mohou zeptat na autorizace teprve poté, co uživatel byl vyhozen ze Safari. Což vzhledem k celoobrazovkovém režimu je nepříjemné. Navíc některé aplikace vůbec neošetřují možnost, že by příslušné URL schéma nebylo odesláno z regulérní aplikace, ale podvrženo ze Safari.
Apple tvrdí, že tento problém leží na bedrech vývojářů aplikací a je na vývojáři aplikace, aby ošetřil případy, kdy bude aplikace spuštěna "neoprávněně".