{"id":"CVE-2026-119751","kind":"vulnerability","aliases":["CVE-2026-119751"],"related":[],"title":"WordPress Content Egg plugin: unauthenticated leak of unpublished post data","description":"Content Egg plugin for WordPress before 12.1.0 contains a broken access control vulnerability that allows unauthenticated attackers to retrieve Content Egg product data from unpublished posts by calling the REST route POST /wp-json/content-egg/v1/render-blocks, whose permission_check() improperly returns true when no X-WP-Nonce header is supplied. Attackers can supply the post_id and module id of a draft, pending, scheduled, or private post to handle_render(), which lacks a publish-status check, to disclose product titles, destination and affiliate URLs, merchant or domain information, and descriptions.","summary":"The Content Egg plugin for WordPress before 12.1.0 has a REST route whose permission check passes when no nonce header is sent, so anyone can call it. Unauthenticated attackers can read product titles, affiliate URLs, merchant details and descriptions from draft, pending, scheduled or private posts.","severity":"medium","cvss":6.9,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["content-egg","package","self-hosted","wordpress"],"not_affected_if":["plugin-not-installed","version-12.1.0-or-later"],"how_to_check":"- Check the installed Content Egg plugin version in the WordPress admin Plugins page or in `wp-content/plugins/content-egg/`\n- Look for the route `/wp-json/content-egg/v1/render-blocks` on the site and see whether it responds to unauthenticated POST requests","fix":"- Content Egg: move to `12.1.0` or later","status":"open","published_at":"2026-11-05T16:17:40+00:00","first_seen_at":"2026-11-05T16:40:01+00:00","triaged_at":"2026-11-05T16:41:36+00:00","updated_at":"2026-11-05T16:41:36+00:00","category":"package","confidence":0.8,"triage":{"at":"2026-11-05T16:41:36Z","model":"claude-haiku-5-5","output":{"fix":"- Content Egg: move to `12.1.0` or later","reach":"internet","title":"WordPress Content Egg plugin: unauthenticated leak of unpublished post data","impact":"low","summary":"The Content Egg plugin for WordPress before 12.1.0 has a REST route whose permission check passes when no nonce header is sent, so anyone can call it. Unauthenticated attackers can read product titles, affiliate URLs, merchant details and descriptions from draft, pending, scheduled or private posts.","audience":"businesses","category":"package","nicknames":[],"who_cares":["wordpress","content-egg","self-hosted"],"confidence":0.8,"fix_status":"available","needs_auth":"no","worst_case":"unpublished post product data and affiliate URLs readable by anyone","analyst_note":"","how_to_check":"- Check the installed Content Egg plugin version in the WordPress admin Plugins page or in `wp-content/plugins/content-egg/`\n- Look for the route `/wp-json/content-egg/v1/render-blocks` on the site and see whether it responds to unauthenticated POST requests","plain_action":"","needs_analyst":false,"not_affected_if":["plugin-not-installed","version-12.1.0-or-later"],"who_is_affected":"Sites running the Content Egg WordPress plugin before 12.1.0 that store unpublished posts with product content. The exposed route is reachable without logging in, so any WordPress site with this plugin and draft or private posts containing Content Egg blocks is in scope. Sites without the plugin or on 12.1.0 or later are not affected.","user_interaction":"no","needs_special_setup":"no","severity_if_unknown":"medium"},"cost_usd":0.000729,"input_tokens":4350,"output_tokens":588,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-119751':13A,16A '-2026':12A,15A '/wp-json/content-egg/v1/render-blocks':103C '12.1.0':32B,77C 'access':81C 'affili':58B,152C 'allow':85C 'anyon':48B 'attack':53B,87C,119C 'broken':80C 'call':50B,98C 'check':39B,106C,145C 'contain':78C 'content':2A,18B,26B,71C,90C 'content-egg':17B 'control':82C 'cve':11A,14A 'data':10A,93C 'descript':63B,159C 'destin':150C 'detail':61B 'disclos':147C 'domain':156C 'draft':65B,130C 'egg':3A,19B,27B,72C,91C 'handl':137C 'header':44B,116C 'host':23B 'id':124C,127C 'improp':107C 'inform':157C 'lack':140C 'leak':6A 'merchant':60B,154C 'modul':126C 'nonc':43B,115C 'packag':20B 'pass':40B 'pend':66B,131C 'permiss':38B,105C 'plugin':4A,28B,73C 'post':9A,70B,96C,102C,123C,135C 'privat':69B,134C 'product':56B,92C,148C 'publish':143C 'publish-status':142C 'read':55B 'render':138C 'rest':35B,100C 'retriev':89C 'return':108C 'rout':36B,101C 'schedul':67B,132C 'self':22B 'self-host':21B 'sent':46B 'status':144C 'suppli':118C,121C 'titl':57B,149C 'true':109C 'unauthent':5A,52B,86C 'unpublish':8A,95C 'url':59B,153C 'vulner':83C 'whose':37B,104C 'wordpress':1A,24B,30B,75C 'wp':114C 'x':113C 'x-wp-nonc':112C","nicknames":[],"mitigations":[],"who_affected":"Sites running the Content Egg WordPress plugin before 12.1.0 that store unpublished posts with product content. The exposed route is reachable without logging in, so any WordPress site with this plugin and draft or private posts containing Content Egg blocks is in scope. Sites without the plugin or on 12.1.0 or later are not affected.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["contentegg","medium","package","selfhosted","wordpress"],"campaign_type":null,"first_public_at":"2026-11-05T16:17:40+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","cvss_by":"disclosure@vulncheck.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-119751","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-119751","severity":null,"published_at":"2026-11-05T16:17:40+00:00","modified_at":"2026-11-05T16:17:40+00:00","first_seen_at":"2026-11-05T16:40:01+00:00","fetched_at":"2026-11-05T16:40:01+00:00","note":null}],"documents":[{"id":77623,"url":"https://www.vulncheck.com/advisories/content-egg-wordpress-plugin-unauthenticated-information-disclosure-via-render-blocks","title":"Third-party advisory: www.vulncheck.com","kind":"advisory","source":"nvd","publisher":"research","text":null,"published_at":null,"relation":"advisory","confidence":null,"note":"Third-party advisory: www.vulncheck.com"}],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}