Medium code_pattern
Resolved · fp_puc_endpoint_owned_lowinstalls
2026-10-06 05:05:47 (5d ago)
| Slug | ht-pay-jp-for-kintone |
|---|---|
| Pattern | puc_update_hijack |
| Kind | builtin |
| Version | 1.11.2 |
| 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 | github_self_distro |
| Url | https://github.com/tkc49/PAY.JP-for-kintone-pro/ |
| Url host | github.com |
| Slug arg | ht-payjp-for-kintone |
View raw JSON
{
"slug": "ht-pay-jp-for-kintone",
"pattern": "puc_update_hijack",
"kind": "builtin",
"version": "1.11.2",
"hit_count": 1,
"first_hit": {
"file": "ht-payjp-for-kintone.php",
"line": 56,
"snippet": "$my_update_checker = Puc_v4_Factory::buildUpdateChecker("
},
"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": "github_self_distro",
"url": "https://github.com/tkc49/PAY.JP-for-kintone-pro/",
"url_host": "github.com",
"slug_arg": "ht-payjp-for-kintone"
}