2026-09-19 8:27CVE-2026-9289Wordfence
PUBLISHED5.2CWE-200

WordLift <= 3.54.10 - Unauthenticated Sensitive Information Exposure in JSON-LD REST API Endpoints

The WordLift – AI powered SEO – Schema plugin for WordPress is vulnerable to Sensitive Information Exposure in all versions up to, and including, 3.54.10 via the JSON-LD REST API endpoints. This is due to the plugin registering the /wordlift/v1/jsonld/ routes (jsonld/{id}, jsonld/http/{item_id}, jsonld/post-meta/{meta_key}, jsonld/meta/{meta_key}, and jsonld/{post_type}/{post_name}) with a permission_callback of '__return_true' and the downstream converter retrieving the post via get_post() without verifying the post status or the requesting user's capabilities. This makes it possible for unauthenticated attackers to read the title, content/description, author, publication and modification dates, word count, comment count, and other metadata of private, draft, and pending posts by enumerating post IDs, bypassing WordPress core access controls.

Problem type

Affected products

wordlift

WordLift – AI powered SEO – Schema

<= 3.54.10 - AFFECTED

References

GitHub Security Advisories

GHSA-r68q-w69r-5c82

The WordLift – AI powered SEO – Schema plugin for WordPress is vulnerable to Sensitive...

https://github.com/advisories/GHSA-r68q-w69r-5c82

The WordLift – AI powered SEO – Schema plugin for WordPress is vulnerable to Sensitive Information Exposure in all versions up to, and including, 3.54.10 via the JSON-LD REST API endpoints. This is due to the plugin registering the /wordlift/v1/jsonld/ routes (jsonld/{id}, jsonld/http/{item_id}, jsonld/post-meta/{meta_key}, jsonld/meta/{meta_key}, and jsonld/{post_type}/{post_name}) with a permission_callback of '__return_true' and the downstream converter retrieving the post via get_post() without verifying the post status or the requesting user's capabilities. This makes it possible for unauthenticated attackers to read the title, content/description, author, publication and modification dates, word count, comment count, and other metadata of private, draft, and pending posts by enumerating post IDs, bypassing WordPress core access controls.

JSON source

https://cveawg.mitre.org/api/cve/CVE-2026-9289
Click to expand
{
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "cveMetadata": {
    "cveId": "CVE-2026-9289",
    "assignerOrgId": "b15e7b5b-3da4-40ae-a43c-f7aa60e62599",
    "assignerShortName": "Wordfence",
    "dateUpdated": "2026-09-19T08:27:22.515Z",
    "dateReserved": "2026-05-22T16:49:50.517Z",
    "datePublished": "2026-09-19T08:27:22.515Z",
    "state": "PUBLISHED"
  },
  "containers": {
    "cna": {
      "providerMetadata": {
        "orgId": "b15e7b5b-3da4-40ae-a43c-f7aa60e62599",
        "shortName": "Wordfence",
        "dateUpdated": "2026-09-19T08:27:22.515Z"
      },
      "title": "WordLift <= 3.54.10 - Unauthenticated Sensitive Information Exposure in JSON-LD REST API Endpoints",
      "descriptions": [
        {
          "lang": "en",
          "value": "The WordLift – AI powered SEO – Schema plugin for WordPress is vulnerable to Sensitive Information Exposure in all versions up to, and including, 3.54.10 via the JSON-LD REST API endpoints. This is due to the plugin registering the /wordlift/v1/jsonld/ routes (jsonld/{id}, jsonld/http/{item_id}, jsonld/post-meta/{meta_key}, jsonld/meta/{meta_key}, and jsonld/{post_type}/{post_name}) with a permission_callback of '__return_true' and the downstream converter retrieving the post via get_post() without verifying the post status or the requesting user's capabilities. This makes it possible for unauthenticated attackers to read the title, content/description, author, publication and modification dates, word count, comment count, and other metadata of private, draft, and pending posts by enumerating post IDs, bypassing WordPress core access controls."
        }
      ],
      "affected": [
        {
          "vendor": "wordlift",
          "product": "WordLift – AI powered SEO – Schema",
          "defaultStatus": "unaffected",
          "versions": [
            {
              "version": "0",
              "status": "affected",
              "versionType": "semver",
              "lessThanOrEqual": "3.54.10"
            }
          ]
        }
      ],
      "problemTypes": [
        {
          "descriptions": [
            {
              "lang": "en",
              "description": "CWE-200 Exposure of Sensitive Information to an Unauthorized Actor",
              "cweId": "CWE-200",
              "type": "CWE"
            }
          ]
        }
      ],
      "references": [
        {
          "url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/96d8da55-0706-42b6-8423-260f6138387d?source=cve"
        },
        {
          "url": "https://plugins.trac.wordpress.org/browser/wordlift/tags/3.54.10/classes/jsonld/class-jsonld-endpoint.php#L131"
        },
        {
          "url": "https://plugins.trac.wordpress.org/browser/wordlift/tags/3.54.10/classes/jsonld/class-jsonld-endpoint.php#L57"
        },
        {
          "url": "https://plugins.trac.wordpress.org/browser/wordlift/tags/3.54.10/includes/class-wordlift-post-to-jsonld-converter.php#L81"
        },
        {
          "url": "https://plugins.trac.wordpress.org/browser/wordlift/tags/3.54.10/classes/jsonld/class-jsonld-by-id-endpoint.php#L112"
        },
        {
          "url": "https://plugins.trac.wordpress.org/browser/wordlift/tags/3.54.8/classes/jsonld/class-jsonld-endpoint.php#L131"
        },
        {
          "url": "https://plugins.trac.wordpress.org/browser/wordlift/tags/3.54.8/classes/jsonld/class-jsonld-endpoint.php#L57"
        },
        {
          "url": "https://plugins.trac.wordpress.org/browser/wordlift/tags/3.54.8/includes/class-wordlift-post-to-jsonld-converter.php#L81"
        },
        {
          "url": "https://plugins.trac.wordpress.org/browser/wordlift/tags/3.54.8/classes/jsonld/class-jsonld-by-id-endpoint.php#L112"
        },
        {
          "url": "https://plugins.trac.wordpress.org/changeset?reponame=&old=3597515%40wordlift&new=3597515%40wordlift"
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "version": "3.1",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N",
            "baseScore": 5.3,
            "baseSeverity": "MEDIUM"
          }
        }
      ],
      "timeline": [
        {
          "time": "2026-09-18T19:56:54.000Z",
          "lang": "en",
          "value": "Disclosed"
        }
      ],
      "credits": [
        {
          "lang": "en",
          "value": "Benedictus Jovan (aillesiM)",
          "type": "finder"
        }
      ]
    }
  }
}