CVE-2026-18723 is an improper authorization vulnerability in DWSurvey that allows unauthenticated actors to change survey status — closing live surveys or reopening closed ones — via endpoints like /up-survey-status.do. The CVSS 6.3 score badly undersells the actual risk.
Survey status isn't a benign flag. Status transitions trigger downstream processes: response locking, export job execution, webhook notifications, and dashboard aggregations that stakeholders use for decisions. An attacker who closes a survey early doesn't just block responses — they cause export jobs to run on incomplete data, finalize dashboards with suppressed sample sets, and fire 'collection complete' webhooks. Decision-makers then act on data with a temporal integrity failure baked in. The corruption is invisible: an unauthorized close looks identical to a legitimate one in audit logs.
The .do extension points to legacy Java (likely Struts-era) code. These frameworks had implicit security assumptions at the servlet layer that modern refactoring often silently discards. If the codebase has been touched since, authorization failures may exist in unexpected places.
Check your deployment: identify all status transition endpoints (/api/dwsurvey/app/survey/ paths and adjacent handlers), verify whether they require authentication, and audit what downstream systems treat survey status as authoritative. The version boundary 'up to 6.14.0' means newer releases haven't been audited — running 6.15+ doesn't guarantee safety.
No vendor patch is coming. Implement compensating controls: API gateway rules to restrict status transition endpoints to authorized roles, middleware authorization layers, and monitoring for unexpected status changes. More critically, implement integrity checks on downstream data — verify export completeness, validate dashboard sample sizes against expected response counts, and treat survey status signals as potentially compromised in your audit trail. The vulnerability is structural, not incidental — assume other state machine endpoints in this codebase share the same flaw.