Skip to content

Uses "@dangerous" commands even when allowAdmin=false (default) #2968

@seppo498573908457

Description

@seppo498573908457

Hi, I've been working to set up a Redis cluster to serve multiple clients in our organization. The default set of allowed ACL commands that I set is +@all -@admin -@dangerous. When these clients connect, they cause ACL LOG entries for trying "INFO" and "CONFIG|GET" commands. These commands are @dangerous and can be used to resolve usernames and passwords. I also would like to avoid unnecessary warnings in the log. So in a way, this is a security issue.

I propose to not use any @dangerous commands for normal operation in any point, unless explicitly configured to do so. I'm sure you can make a few good connection string options to indicate such allowance and to compensate if you cannot use such commands. For example allowDangerous=(bool). For another example, if the client is read-only, it would be quite easy to set as a flag in the connection string.

For the very least, you should pinpoint the data that you need and use the least exposing functionality to get that data. For example, if you need info about the cluster, do not use the general "INFO", but a more specific "INFO CLUSTER" or "CLUSTER INFO". That could be an acceptable workaround and allowed me to add some specific commands to users.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions