Publitio

publitio · by publitio · wordpress.org ↗ · SVN ↗
Active installs
400
Current version
2.2.7
Added
2018-09-12
Last updated
2026-08-27 (25d ago)
First seen by beacon
5mo ago
Total downloads
23,424

Statistics

2024-06-16 → 2026-09-08 · 798 days

Active-install and ratings figures are the last values WP Beacon captured before wordpress.org closed this plugin — wp.org no longer publishes them. Daily downloads are still updated.

Downloads today
10
7-day total 76
Week over week
▼ -78%
vs prior 7 days
30-day trend
flat
▲ +182% MoM
Abandonment
●●●○○
closed on wp.org; install base on one version
Downloads/day Linear trend
2021521015102024-062024-102025-032025-072025-112026-04
164123824102026-052026-062026-062026-072026-072026-08
164123824102026-072026-082026-082026-082026-082026-09

Active versions

2.22.1
2.2 · 87.9%2.1 · 9.3%2.0 · 2.8%

Ratings last captured

No ratings data.

Alerts (0)

No open alerts.

Show 1 resolved alert
Critical code_pattern Resolved · vendor_self_api_publitio 2026-05-08 09:56:54 (4mo ago)
Slugpublitio
Patternunserialize_after_remote_call
Kindbuiltin
Version2.2.6
Hit count1
First hit
File
includes/publitio_api.php
Line
125
Snippet
L114: $response = curl_exec($curl); → L125: $unserialized_response = @unserialize($response);
Explanationa remote HTTP fetch (`wp_remote_*` / `curl_exec`) is followed by `@unserialize` within the same file — classic PHP Object Injection C2 gadget. The error-suppressed form is the tell: legit code wants to know when deserialize fails; attackers suppress so malformed gadgets do not leak. A real finding regardless of author intent: any plugin that deserializes remote responses without validation is a latent RCE chain if the remote endpoint is ever compromised.
View raw JSON
{
    "slug": "publitio",
    "pattern": "unserialize_after_remote_call",
    "kind": "builtin",
    "version": "2.2.6",
    "hit_count": 1,
    "first_hit": {
        "file": "includes/publitio_api.php",
        "line": 125,
        "snippet": "L114: $response = curl_exec($curl);  \u2192  L125: $unserialized_response = @unserialize($response);"
    },
    "explanation": "a remote HTTP fetch (`wp_remote_*` / `curl_exec`) is followed by `@unserialize` within the same file \u2014 classic PHP Object Injection C2 gadget. The error-suppressed form is the tell: legit code wants to know when deserialize fails; attackers suppress so malformed gadgets do not leak. A real finding regardless of author intent: any plugin that deserializes remote responses without validation is a latent RCE chain if the remote endpoint is ever compromised."
}

SVN committers (2)

Accounts with actual commit access to publitio 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
publitio Young account 2018-09-06 41 2018-09-12 · r1939841 2026-08-27 · r3668990
plugin-master 2007-03-09 1 2018-09-12 · r1939639 2018-09-12 · r1939639

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
publitio 2018-09-06 41 commits Active

Versions (3 most recent)

Version Released Download
2.2.7 zip
2.2.6 2026-04-23 · 5mo ago zip
1.0 2019-02-28 · 7y ago zip