串联支持的动态可变路径会降低病态值
作者: jashkarangiya创建于 2026年9月14日更新于 2026年9月14日
标签BugMed ImpactLow Reach
描述臭虫
由数组支撑的多点动态可变路径在解析路径时会放下有效的疟原体值. " 0 " 、 " 假 " 和空字符串等值被删除,即使财产存在。
共享的“get”助手目前通过真实性过滤嵌入式阵列的结果。 parseDynamic Variable ' 用于帮助点缀的$CURRENT-USER'、$CURRENT-ROLES'、$CURRENT-ROLE'和`$CURRENT-POLICIES'路径,因此,许可过滤器、验证规则和预设可以收到比所配置数据所代表的清单更短的清单。
只应排除无效、未定义和缺失的财产。 保留无效是故意的,因为在SQL`NOT IN ' 列表中一个无效的操作可以使每行的比较都不得而知。
这经与Directus维护者审查,确认为正常正确性问题:https://GitHub.com/directus/directus/security/advisories/GHSA-xgww-wpqg-cx4p#event-1035897
重写
- 解决一个有数据等同的被点数组支持的变量:
{ [ {值:'被锁'}, {数值:0}, {数值:假}, {数值:''}, {值:无效}, {值:未定义}, {}, [ {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
2. 使用 " $CURRENT-ROLES.value " 作为 " ` " 或 " ` " 过滤器的操作。
3. 注意已解决的清单只包含`['堵''。
4. 预期清单为``被封锁',0,虚假',''。 未界定的虚构财产和所失踪的财产仍应排除在外。
同一行为可直接以“get(context, '$CURRENT ROLES.value', 无效)”从QQDirectus/utils 复制。
\\ directus 版本
v12.3.1和 " 主要 " at 99ebe62 "
* 东道方战略
自有(海关)
QQ 数据库
数据库独立. 值在 SQL 生成前的共享过滤解析中丢失 .内容来源: directus/directus