SaFly Curl Patch

safly-curl-patch · by safly · wordpress.org ↗ · SVN ↗
Active installs
200
Current version
1.0.0
Added
2018-02-08
Last updated
2018-02-08 (8y ago)
First seen by beacon
1mo ago
Total downloads

Alerts (0)

No open alerts.

Show 1 resolved alert
Critical code_pattern Resolved · tencent_doh_public_dns_explicit_curl_fix 2026-05-08 09:56:56 (1mo ago)
Slugsafly-curl-patch
Patternhardcoded_ip_url
Kindbuiltin
Version1.0.0
Hit count1
First hit
File
SaFly-Curl-Patch.php
Line
70
Snippet
$ip = wp_remote_retrieve_body(wp_remote_get('http://119.29.29.29/d?dn=' . $domain));
Explanationplugin source hardcodes a raw IPv4 URL (e.g. `https://94.156.79.8/...`) — legitimate plugins use DNS hostnames because IPs change. Hardcoded IPs in plugin code are almost always either dev leftovers or attacker C2 infrastructure. The June 2024 social-warfare keylogger (audit #14) used `https://94.156.79.8/sc-top.js` for the JS payload host, `/AddSites` for victim registration, `/CMSUsers` for filesystem-recon exfil. Operator infrastructure on raw IPs avoids domain registration / RDAP detection paths. Post-filtered to skip RFC1918/loopback/link-local ranges and `vendor/`/`tests/` paths.
View raw JSON
{
    "slug": "safly-curl-patch",
    "pattern": "hardcoded_ip_url",
    "kind": "builtin",
    "version": "1.0.0",
    "hit_count": 1,
    "first_hit": {
        "file": "SaFly-Curl-Patch.php",
        "line": 70,
        "snippet": "$ip = wp_remote_retrieve_body(wp_remote_get('http://119.29.29.29/d?dn=' . $domain));"
    },
    "explanation": "plugin source hardcodes a raw IPv4 URL (e.g. `https://94.156.79.8/...`) \u2014 legitimate plugins use DNS hostnames because IPs change. Hardcoded IPs in plugin code are almost always either dev leftovers or attacker C2 infrastructure. The June 2024 social-warfare keylogger (audit #14) used `https://94.156.79.8/sc-top.js` for the JS payload host, `/AddSites` for victim registration, `/CMSUsers` for filesystem-recon exfil. Operator infrastructure on raw IPs avoids domain registration / RDAP detection paths. Post-filtered to skip RFC1918/loopback/link-local ranges and `vendor/`/`tests/` paths."
}

SVN committers (2)

Accounts with actual commit access to safly-curl-patch on plugins.svn.wordpress.org, reconstructed from svn log. This is the list that matters for ownership changes — not the readme contributors.

Committer Member since Commits First commit Latest commit
Abyss.Cong 2016-02-04 4 2018-02-08 · r1818311 2018-02-08 · r1818360
plugin-master 2007-03-09 1 2018-02-07 · r1816877 2018-02-07 · r1816877

Readme contributors (1)

Names the plugin's readme declares as contributors. A soft signal — anyone can be listed. The SVN access column is the ground-truth cross-reference: does this contributor actually commit code?

Contributor Member since SVN access Status
Abyss.Cong 2016-02-04 4 commits Active

Versions (1 most recent)

Version Released Download
1.0.0 2018-02-08 · 8y ago zip