用户名带特殊字符的情况下登录异常问题

【详述】带特殊字符的用户在连接数据库的时候特殊字符可被任意特殊字符代替,比如创建一个用户test_1,设置一个密码,那可以通过test_1或者test=1或者test1又或者test.1进行登录,特殊符号可被多个其他的特殊符号代替,这是一个非常严重的bug
【背景】公司的用户带有"“作为分隔符,使用过程中发现”“可以被“.”、”="、“
”等字符代替,资源组绑定的规则中只绑定了"_“的用户,所以用户使用”*"等其他字符可以避开绑定规则,从而命中默认的default_wg资源组,导致资源限制失效
【业务影响】用户资源组限制资源失效,影响其余用户的资源使用,造成集群负载极高,有宕机风险
【是否存算分离】是否存算分离对该结果无关,因为多套集群都有类似问题,并且有存算分离集群和不分离集群
【StarRocks版本】例如:3.3.3/3.3.9/3.5.0
【集群规模】不影响测试结果
【机器信息】不影响测试结果
【联系方式】社区群16-一叶,邮箱lixkvip@126.com

这个是命名规范的问题,今天是一个",明天是不是有@或者&了,感觉还是得从集群本身的用户命名上入手进行严格规范。

规范只是一个软约束,我们并不能完全避免公司的管理员或者其他所有使用SR的公司的管理员遵守这个规则, 我觉得还是从底层上避免这个问题的发生比较好,您觉得呢?

出发点是好的,但是官网也不一定会为这个改逻辑底层噢。

https://github.com/StarRocks/starrocks/pull/61533

1赞

这个已经有官方的人回复跟进并且提了pr了,后面应该会修复的哈
https://github.com/StarRocks/starrocks/pull/61533