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.
WordLift <= 3.54.10 - Unauthenticated Sensitive Information Exposure in JSON-LD REST API Endpoints
Problem type
Affected products
wordlift
<= 3.54.10 - AFFECTED
References
https://www.wordfence.com/threat-intel/vulnerabilities/id/96d8da55-0706-42b6-8423-260f6138387d?source=cve
https://plugins.trac.wordpress.org/browser/wordlift/tags/3.54.10/classes/jsonld/class-jsonld-endpoint.php#L131
https://plugins.trac.wordpress.org/browser/wordlift/tags/3.54.10/classes/jsonld/class-jsonld-endpoint.php#L57
https://plugins.trac.wordpress.org/browser/wordlift/tags/3.54.10/includes/class-wordlift-post-to-jsonld-converter.php#L81
https://plugins.trac.wordpress.org/browser/wordlift/tags/3.54.10/classes/jsonld/class-jsonld-by-id-endpoint.php#L112
https://plugins.trac.wordpress.org/browser/wordlift/tags/3.54.8/classes/jsonld/class-jsonld-endpoint.php#L131
https://plugins.trac.wordpress.org/browser/wordlift/tags/3.54.8/classes/jsonld/class-jsonld-endpoint.php#L57
https://plugins.trac.wordpress.org/browser/wordlift/tags/3.54.8/includes/class-wordlift-post-to-jsonld-converter.php#L81
https://plugins.trac.wordpress.org/browser/wordlift/tags/3.54.8/classes/jsonld/class-jsonld-by-id-endpoint.php#L112
https://plugins.trac.wordpress.org/changeset?reponame=&old=3597515%40wordlift&new=3597515%40wordlift
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-5c82The 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.
https://nvd.nist.gov/vuln/detail/CVE-2026-9289
https://plugins.trac.wordpress.org/browser/wordlift/tags/3.54.10/classes/jsonld/class-jsonld-by-id-endpoint.php#L112
https://plugins.trac.wordpress.org/browser/wordlift/tags/3.54.10/classes/jsonld/class-jsonld-endpoint.php#L131
https://plugins.trac.wordpress.org/browser/wordlift/tags/3.54.10/classes/jsonld/class-jsonld-endpoint.php#L57
https://plugins.trac.wordpress.org/browser/wordlift/tags/3.54.10/includes/class-wordlift-post-to-jsonld-converter.php#L81
https://plugins.trac.wordpress.org/browser/wordlift/tags/3.54.8/classes/jsonld/class-jsonld-by-id-endpoint.php#L112
https://plugins.trac.wordpress.org/browser/wordlift/tags/3.54.8/classes/jsonld/class-jsonld-endpoint.php#L131
https://plugins.trac.wordpress.org/browser/wordlift/tags/3.54.8/classes/jsonld/class-jsonld-endpoint.php#L57
https://plugins.trac.wordpress.org/browser/wordlift/tags/3.54.8/includes/class-wordlift-post-to-jsonld-converter.php#L81
https://plugins.trac.wordpress.org/changeset?reponame=&old=3597515%40wordlift&new=3597515%40wordlift
https://www.wordfence.com/threat-intel/vulnerabilities/id/96d8da55-0706-42b6-8423-260f6138387d?source=cve
https://github.com/advisories/GHSA-r68q-w69r-5c82
JSON source
https://cveawg.mitre.org/api/cve/CVE-2026-9289Click 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"
}
]
}
}
}