An attacker can subscribe to LiveQuery with a watch parameter targeting a protected field. Although the protected field value is properly stripped from event payloads, the presence or absence of update events reveals whether the protected field changed, creating a binary oracle. For boolean protected fields, the timing of change events is equivalent to knowing the field value.
The watch parameter is now validated against protected fields at subscription time, mirroring the existing validation for the where clause. Subscriptions that include protected fields in watch are rejected with a permission error. Master key connections are exempt.
None.
{
"github_reviewed": true,
"github_reviewed_at": "2026-03-20T20:45:40Z",
"cwe_ids": [
"CWE-203"
],
"severity": "MODERATE",
"nvd_published_at": "2026-03-24T19:16:53Z"
}