Customized greeting-card maker Moonpig suspended its mobile services on Jan. 6, after a developer claimed that the company’s poor code security could allow attackers to collect details on millions of users.
The security issue apparently occurs in the company’s application programming interface that's used to communicate between Moonpig’s online services and its mobile applications. Because the company does not adequately authenticate requests for customer information, an attacker could merely change the customer ID in any request and get back another customer’s profile, including name, address and birth date, according to Paul Price, the developer who found the issue.
“Every API request is like this, there’s no authentication at all and you can pass in any customer ID to impersonate them,” Price stated in a blog post describing the security weakness. “An attacker could easily place orders on other customers accounts, add [or] retrieve card information, view saved addresses, view orders and much more.”
The company ignored the issue for 17 months, according to Price, who claims to have originally notified the company in 2013. Yet, within hours of the public disclosure of the code weakness, Moonpig had suspended its mobile services. The company is investigating the issues, according to statements posted on its Web site and Twitter feed.
“We can assure our customers that all password and payment information is and has always been safe,” the company said in a statement. “As a precaution, our Apps will be unavailable for a time whilst we conduct these investigations and we will work to resume a normal service as soon as possible. The desktop and mobile websites are unaffected.”
It’s unclear how many customers are impacted by the API flaw. More than 1.5 million people use the company’s Android and iPhone apps, according to press reports. However, the company had more than 10 million users as of February 2014. Neither the company nor developer Price immediately responded to requests for comments.
At the heart of the problem are the HTTP-based requests that communicate data between cloud services, Web sites and mobile devices. Known as Web APIs, the communication protocols have allowed data to move freely between services, but they often have not been well secured. Many companies create their own APIs and their lack of security knowledge or focus results in mistakes.
The fundamental problem for the Moonpig API is that the company designed it to trust data from the app, without considering that a malicious attacker could have modified the data, said Paul Mutton, a security researcher with Internet monitoring firm Netcraft.
“Unlike with traditional web applications, much of what goes on beneath the glossy facade of an app is hidden from the user—but with the right tools and the right knowledge, it can be trivial to identify and exploit any vulnerabilities that might affect it,” he said in a blog post on the issue.
“The Moonpig vulnerability exemplifies this, as the problem was not only easy to spot, but could be exploited simply by pasting a modified URL into a standard web browser.” Mutton wrote.