Low code_pattern
Resolved · fp_puc_endpoint_owned_lowinstalls
2026-10-06 12:07:37 (12d ago)
| Slug | justin |
|---|---|
| Pattern | puc_update_hijack |
| Kind | builtin |
| Version | 1.5.5 |
| Hit count | 1 |
| First hit |
|
| Explanation | plugin calls `::buildUpdateChecker()` — the factory entry point of the Yahnis Elsts Plugin Update Checker library. A plugin distributed through wordpress.org that registers its own update source is bypassing the Plugin Review Team: every install polls the non-wp.org URL on cron and installs whatever JSON + zip it returns, with full plugin-author permissions. This is the mechanism behind the `anadnet`/quick-pagepost-redirect-plugin compromise (2021) where the author seeded 70,000+ installs through tagged releases and then removed the library from trunk to hide the persistence. Any URL argument pointing away from `downloads.wordpress.org`/`api.wordpress.org` is the hijack signal. |
| Shape | vendor_updater |
| Url | http://api.morkva.co.ua/api.json |
| Url host | api.morkva.co.ua |
| Slug arg | — |
View raw JSON
{
"slug": "justin",
"pattern": "puc_update_hijack",
"kind": "builtin",
"version": "1.5.5",
"hit_count": 1,
"first_hit": {
"file": "justin.php",
"line": 167,
"snippet": "$Checker = Checker::buildUpdateChecker('http://api.morkva.co.ua/api.json', __FILE__);"
},
"explanation": "plugin calls `::buildUpdateChecker()` \u2014 the factory entry point of the Yahnis Elsts Plugin Update Checker library. A plugin distributed through wordpress.org that registers its own update source is bypassing the Plugin Review Team: every install polls the non-wp.org URL on cron and installs whatever JSON + zip it returns, with full plugin-author permissions. This is the mechanism behind the `anadnet`/quick-pagepost-redirect-plugin compromise (2021) where the author seeded 70,000+ installs through tagged releases and then removed the library from trunk to hide the persistence. Any URL argument pointing away from `downloads.wordpress.org`/`api.wordpress.org` is the hijack signal.",
"shape": "vendor_updater",
"url": "http://api.morkva.co.ua/api.json",
"url_host": "api.morkva.co.ua",
"slug_arg": null
}