{"id":"CVE-2026-118804","kind":"vulnerability","aliases":["CVE-2026-118804"],"related":[],"title":"Bricks Builder: unauthenticated REST call exposes drafts, private posts and coupons","description":"Bricks Builder 2.4.3 and before contains a broken access control vulnerability that allows unauthenticated attackers to access restricted post content by submitting crafted post_status and post_type values in the originalQueryVars parameter to the POST /wp-json/bricks/v1/query_result REST endpoint using a publicly obtainable nonce. Attackers can set post_status to draft or private, or post_type to shop_coupon, to disclose unpublished posts, private content, and WooCommerce coupon data that is otherwise blocked by the standard WordPress REST API routes.","summary":"Bricks Builder 2.4.3 and earlier lets an unauthenticated visitor POST crafted post_status and post_type values to its query_result REST endpoint, using a publicly obtainable nonce. An attacker can read draft and private posts and WooCommerce shop_coupon data that standard WordPress REST routes would block.","severity":"high","cvss":7.5,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["bricks-builder","package","self-hosted","woocommerce","wordpress"],"not_affected_if":["default-config"],"how_to_check":"- Check the installed Bricks version in the theme's style.css or the WordPress admin under Appearance > Themes; versions `2.4.3` and earlier are affected.\n- Test whether `/wp-json/bricks/v1/query_result` is reachable on the site.","fix":"- Update Bricks Builder to a version newer than `2.4.3`; the fixed version is unknown from the sources.\n- Until patched, restrict or block access to `/wp-json/bricks/v1/query_result` at the web server or WAF.","status":"open","published_at":"2026-10-28T22:17:14+00:00","first_seen_at":"2026-10-28T22:35:34+00:00","triaged_at":"2026-10-28T22:36:49+00:00","updated_at":"2026-10-28T22:36:49+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-10-28T22:36:49Z","model":"claude-haiku-5-5","output":{"fix":"- Update Bricks Builder to a version newer than `2.4.3`; the fixed version is unknown from the sources.\n- Until patched, restrict or block access to `/wp-json/bricks/v1/query_result` at the web server or WAF.","reach":"internet","title":"Bricks Builder: unauthenticated REST call exposes drafts, private posts and coupons","impact":"medium","summary":"Bricks Builder 2.4.3 and earlier lets an unauthenticated visitor POST crafted post_status and post_type values to its query_result REST endpoint, using a publicly obtainable nonce. An attacker can read draft and private posts and WooCommerce shop_coupon data that standard WordPress REST routes would block.","category":"package","nicknames":[],"who_cares":["wordpress","bricks-builder","woocommerce","self-hosted"],"confidence":0.7,"needs_auth":"no","worst_case":"Unauthenticated attackers read unpublished posts and WooCommerce coupon data","analyst_note":"Check the NVD entry and the Bricks changelog for the fixed version and whether the nonce requirement is default-config.","how_to_check":"- Check the installed Bricks version in the theme's style.css or the WordPress admin under Appearance > Themes; versions `2.4.3` and earlier are affected.\n- Test whether `/wp-json/bricks/v1/query_result` is reachable on the site.","needs_analyst":true,"not_affected_if":["default-config"],"who_is_affected":"Sites running Bricks Builder 2.4.3 or earlier that expose the Bricks REST query endpoint are exposed, and the risk is greatest where drafts, private posts or WooCommerce coupons exist. Sites without Bricks, or on a newer version, can skip it.","user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"high"},"cost_usd":0.000665,"input_tokens":3408,"output_tokens":649,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-118804':14A,17A '-2026':13A,16A '/wp-json/bricks/v1/query_result':111C '2.4.3':29B,77C 'access':83C,91C 'allow':87C 'api':153C 'attack':56B,89C,119C 'block':74B,147C 'brick':1A,19B,27B,75C 'bricks-build':18B 'broken':82C 'builder':2A,20B,28B,76C 'call':5A 'contain':80C 'content':94C,139C 'control':84C 'coupon':11A,66B,133C,142C 'craft':37B,97C 'cve':12A,15A 'data':67B,143C 'disclos':135C 'draft':7A,59B,125C 'earlier':31B 'endpoint':49B,113C 'expos':6A 'host':24B 'let':32B 'nonc':54B,118C 'obtain':53B,117C 'originalqueryvar':106C 'otherwis':146C 'packag':21B 'paramet':107C 'post':9A,36B,38B,41B,62B,93C,98C,101C,110C,122C,129C,137C 'privat':8A,61B,127C,138C 'public':52B,116C 'queri':46B 'read':58B 'rest':4A,48B,71B,112C,152C 'restrict':92C 'result':47B 'rout':72B,154C 'self':23B 'self-host':22B 'set':121C 'shop':65B,132C 'standard':69B,150C 'status':39B,99C,123C 'submit':96C 'type':42B,102C,130C 'unauthent':3A,34B,88C 'unpublish':136C 'use':50B,114C 'valu':43B,103C 'visitor':35B 'vulner':85C 'woocommerc':25B,64B,141C 'wordpress':26B,70B,151C 'would':73B","nicknames":[],"mitigations":[],"who_affected":"Sites running Bricks Builder 2.4.3 or earlier that expose the Bricks REST query endpoint are exposed, and the risk is greatest where drafts, private posts or WooCommerce coupons exist. Sites without Bricks, or on a newer version, can skip it.","tier":"B","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-28T22:17:14+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","cvss_by":"disclosure@vulncheck.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-118804","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-118804","severity":null,"published_at":"2026-10-28T22:17:14+00:00","modified_at":"2026-10-28T22:17:14+00:00","first_seen_at":"2026-10-28T22:35:34+00:00","fetched_at":"2026-10-28T22:35:34+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"}