

A simple change to the 'clientApplicationName' NSString method (or CFString member variable if using the Carbon API), setting this value to "Skype Dashbd Wdgt Plugin" is all that is required.ĭiscovering the backdoor is a relatively trivial process, in fact this can be done with a simple call to the GNU utility 'strings', for instance:
SKYPE FOR MAC OS HOW TO
In later versions of the Desktop API, access to text messages was dropped from the specification but access to other features remained.Īccessing the backdoor is as easy as changing a single line of code in the numerous examples given by Skype themselves in how to use the Desktop API. This included, but was not limited to: notifications of incoming messages (and their contents), modifying messages and creating chat sessions, ability to log and record Skype call audio to disk and retrieve user contacts. The Desktop API, in previous versions, permitted access to nearly everything that Skype can offer. However, the original Desktop API was text based and documentation can still be found thanks to the Wayback machine. The Desktop API is being discontinued and gradually phased out of the Skype application across all platforms. Our investigations have shown that the string "Skype Dashbd Wdgt Plugin" has been present in versions of Skype for Mac OS-X for some 5+ years. If it was a coding accident, it is an old one. This raises the possibility that the backdoor is the result of a development accident which left the code behind accidentally during the process of implementing the Dashboard plugin. This opens up the potential for abuse by third-party programs, including malware, running locally on the machine.Ĭuriously, the actual Skype Dashboard widget does not seem to utilize the backdoor into the Skype Desktop API despite the name "Skype Dashbd Wdgt Plugin".

This allows any program accessing the Desktop API through the backdoor to remain hidden from the user.įinally, no attempts are made to determine what programs that are accessing the Desktop API since they identify themselves as the undocumented client name identifier "Skype Dashbd Wdgt Plugin". Furthermore, no mention is made in the "Manage API Clients" list. In the case of the backdoor no such notification attempt is made and as such the user is not given the opportunity to deny access. Notifying the user of Desktop API through the backdoor works differently than the normal course of action which is to notify the user of an access attempt and prompt the user for permission. Indeed, this possibility seems even more likely when you consider that the Desktop API provides for an undocumented client name identifier (namely "Skype Dashbd Wdgt Plugin"). As described in the Trustwave advisory, the issue is an authentication by-pass discovered in the API whereby a local program could by-pass authentication if they identified themselves as the program responsible for interfacing with the Desktop API on behalf of the Skype Dashboard widget program.Īn interesting possibility is that this bug is the result of a backdoor entered into the Desktop API to permit a particular program written by the vendor to access the Desktop API without user interaction. The API is formally known as the Desktop API (previously known as the Skype Public API – Application Programming Interface) and it enables third-party applications to communicate with Skype. Trustwave recently reported a locally exploitable issue in the Skype Desktop API Mac OS-X which provides an API to local programs/plugins executing on the local machine.
