The internet has been ablaze with reports of jailbroken iPhones being infested with worms. The exploit takes advantage of unwitting jailbreakers who install OpenSSH on their iPhones via Cydia without taking into account all of the impacts on security. The most notable, and now famous, hole in this theory is that every iPhone ships with the same default password for both the all-powerful “root” user as well as the more-restricted “mobile” user.
Not surprisingly, Apple has officially commented on the situation noting that “the worm affects only a very specific set of iPhone users who have jail broken[sic] their iPhones and hacked it with unauthorized software.” It is pretty clear from Apple’s statement their feelings on the jailbreak community and its effects on the iPhone and iPod touch.
Luckily, if you need to have OpenSSH installed on your iPhone (who doesn’t want a remotely-accessible, full UNIX terminal in their pocket?), there is a pretty simple solution to this problem that will prevent this breed of infestation from ever reaching your iPhone.
- Remember, this only affects jailbroken iPhone owners who have installed OpenSSH…
- Begin by installing MobileTerminal via Cydia (alternately, you can login via SSH from Terminal.app or a Cygwin-equipped Windows PC).
- Type “login”, you will be asked for a login name which should be “root” then a password which should be “alpine”.
- Type “passwd” then tap return, you will be asked to type the new password. Tap return and type the new password again.
Repeat this same process for the “mobile” user by replacing “root” with “mobile” in step 3. Also, when using passwd to change the password for “mobile” you may be asked the old password which would be “alpine”. It is not necessary to use a different password for “root” and “mobile” but if you’re highly security conscious, it wouldn’t hurt. The second half of this post includes a screen image of my exact process working successfully on OS 3.1.2 with an iPhone 3GS.
In addition to changing the user passwords for your iPhone, another good security measure is to use one of the jailbreak apps like BossPrefs or SBSettings to have a toggle that will disable SSH when not in use. Obviously, having SSH disabled (or not installed) is the best defense against worms of this sort.