{"id":"CVE-2026-109934","kind":"vulnerability","aliases":["CVE-2026-109934"],"related":[],"title":"Otter Blocks WordPress plugin leaks protected post content through REST API","description":"The Otter Blocks  WordPress plugin before 3.2.8 does not correctly determine whether a post is publicly readable before returning its data through a REST API endpoint, treating any post with the published status as public, allowing unauthenticated users to read manual excerpts of password-protected posts, the content and titles of non-public post types, and, on WooCommerce sites, coupon codes and their descriptions.","summary":"The Otter Blocks WordPress plugin before 3.2.8 returns data for posts it wrongly treats as public, through a REST API endpoint. An unauthenticated visitor can read excerpts of password-protected posts, content of non-public post types, and on WooCommerce sites, coupon codes and descriptions.","severity":"medium","cvss":5.3,"epss":0.00146,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["otter-blocks","package","self-hosted","woocommerce","wordpress"],"not_affected_if":["plugin-not-installed","plugin-updated-to-3.2.8"],"how_to_check":"- Check the installed Otter Blocks plugin version in the WordPress admin Plugins screen or with `wp plugin get otter-blocks --field=version`\n- Confirm whether WooCommerce is active on the site, since coupon exposure depends on it","fix":"- Update the Otter Blocks plugin to `3.2.8` or later\n- If WooCommerce coupons were public, rotate any exposed coupon codes","status":"open","published_at":"2026-10-23T06:17:05+00:00","first_seen_at":"2026-10-23T21:57:32+00:00","triaged_at":"2026-10-25T04:18:59+00:00","updated_at":"2026-10-25T04:18:59+00:00","category":"package","confidence":0.8,"triage":{"at":"2026-10-25T04:18:59Z","model":"claude-haiku-5-5","output":{"fix":"- Update the Otter Blocks plugin to `3.2.8` or later\n- If WooCommerce coupons were public, rotate any exposed coupon codes","reach":"internet","title":"Otter Blocks WordPress plugin leaks protected post content through REST API","impact":"medium","summary":"The Otter Blocks WordPress plugin before 3.2.8 returns data for posts it wrongly treats as public, through a REST API endpoint. An unauthenticated visitor can read excerpts of password-protected posts, content of non-public post types, and on WooCommerce sites, coupon codes and descriptions.","category":"package","nicknames":[],"who_cares":["wordpress","otter-blocks","woocommerce","self-hosted"],"confidence":0.8,"needs_auth":"no","worst_case":"unauthenticated visitors read protected post data and coupon codes","analyst_note":"","how_to_check":"- Check the installed Otter Blocks plugin version in the WordPress admin Plugins screen or with `wp plugin get otter-blocks --field=version`\n- Confirm whether WooCommerce is active on the site, since coupon exposure depends on it","needs_analyst":false,"not_affected_if":["plugin-updated-to-3.2.8","plugin-not-installed"],"who_is_affected":"WordPress sites running Otter Blocks before 3.2.8 are exposed, and the risk is higher when password-protected posts, private custom post types, or WooCommerce coupons exist. Sites that do not run the plugin, or have already updated, can skip it.","user_interaction":"no","needs_special_setup":"no","severity_if_unknown":"medium"},"cost_usd":0.000625,"input_tokens":3390,"output_tokens":571,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-109934':14A,17A '-2026':13A,16A '3.2.8':33B,80C 'allow':109C 'api':11A,46B,98C 'block':2A,20B,29B,76C 'code':71B,136C 'content':8A,59B,122C 'correct':83C 'coupon':70B,135C 'cve':12A,15A 'data':35B,94C 'descript':73B,139C 'determin':84C 'endpoint':47B,99C 'excerpt':53B,115C 'host':24B 'leak':5A 'manual':114C 'non':62B,127C 'non-publ':61B,126C 'otter':1A,19B,28B,75C 'otter-block':18B 'packag':21B 'password':56B,118C 'password-protect':55B,117C 'plugin':4A,31B,78C 'post':7A,37B,58B,64B,87C,102C,120C,129C 'protect':6A,57B,119C 'public':42B,63B,89C,108C,128C 'publish':105C 'read':52B,113C 'readabl':90C 'rest':10A,45B,97C 'return':34B,92C 'self':23B 'self-host':22B 'site':69B,134C 'status':106C 'titl':124C 'treat':40B,100C 'type':65B,130C 'unauthent':49B,110C 'user':111C 'visitor':50B 'whether':85C 'woocommerc':25B,68B,133C 'wordpress':3A,26B,30B,77C 'wrong':39B","nicknames":[],"mitigations":[],"who_affected":"WordPress sites running Otter Blocks before 3.2.8 are exposed, and the risk is higher when password-protected posts, private custom post types, or WooCommerce coupons exist. Sites that do not run the plugin, or have already updated, can skip it.","tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-23T06:17:05+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N","cvss_by":"134c704f-9b21-4f2e-91b3-4a467353bcc0","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-109934","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-109934","severity":null,"published_at":"2026-10-23T06:17:05+00:00","modified_at":"2026-10-23T14:20:57+00:00","first_seen_at":"2026-10-23T21:57:32+00:00","fetched_at":"2026-10-23T22:29:03+00:00","note":null},{"source":"epss","external_id":"CVE-2026-109934","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-109934","severity":null,"published_at":null,"modified_at":null,"first_seen_at":"2026-10-24T07:15:51+00:00","fetched_at":"2026-10-24T07:15:51+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}