Open Source 2012-11-01 · 280 days ·Backdoor, Remote Code Execution

OpenX Source archive backdoored

The official OpenX Source 2.8.10 distribution archives were compromised for months, shipping a remote PHP code execution backdoor in the open-source ad server.

Story

OpenX sat between publishers, advertisers, and every visitor who loaded an ad slot. In 2013, heise Security found that official OpenX Source 2.8.10 downloads from the project server contained a hidden PHP execution path. The compromised ZIP, tar.gz, and tar.bz2 archives came from the trusted download channel.

The attacker hid PHP inside flowplayer-3.1.1.min.js, a JavaScript file nested under the video ads plugin. OpenX delivery code then read that file through MAX_commonReadFile and reached it through require_once, turning an innocuous-looking asset into server-side code. Rapid7 later described exploitation as a single request with a ROT13-encoded and reversed payload.

Heise reported that the backdoor appeared to have been present for almost a year and was already being used against ad servers. OpenX 2.8.10 was the current open-source release, so administrators who installed or refreshed the package during the window could inherit the backdoor as part of ordinary deployment.

Remediation required more than removing one line. Acunetix and other advisories recommended upgrading to OpenX 2.8.11 or later, auditing the server for prior compromise, rotating credentials and API keys, and considering a clean reinstall if exploitation evidence existed. A compromised ad server could also deliver attacks to site visitors.

Affected Artifacts

openx

· openx.com · Source Archive
Observed
2012-11-01 to 2013-08-08
Compromised Versions
Fixed
2.8.11
Hashes
  • md5:3cf59a7b8996dcc52370cf918f248ee4
  • md5:558c80e601fb996e5f6bbc99a9ee0051
  • md5:fa4991d5fd3bf4a947b6ab0b15ce10b2
  • +2 more
  • Heise reported that the compromised official downloads covered the ZIP, tgz, and tbz2 archives and that the backdoor appeared to have been present for almost a year.
  • Acunetix recommends upgrading to OpenX 2.8.11 or later and auditing for prior unauthorized access before trusting an in-place upgrade.

Incident Context

Motive
Financial Gain
Attribution
Group
Cause
Compromised Infrastructure
Transitive
No
Actor
Cybercriminal Gang

External References

Source record: oss/attacks/openx/meta.yaml