[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-2693?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15869745#comment-15869745
 ] 

ASF GitHub Bot commented on ZOOKEEPER-2693:
-------------------------------------------

Github user rakeshadr commented on a diff in the pull request:

    https://github.com/apache/zookeeper/pull/179#discussion_r101492640
  
    --- Diff: 
src/java/main/org/apache/zookeeper/server/command/FourLetterCommands.java ---
    @@ -153,13 +155,33 @@
          */
         public final static int telnetCloseCmd = 0xfff4fffd;
     
    -    final static HashMap<Integer, String> cmd2String =
    -        new HashMap<Integer, String>();
    +    private static final String ZOOKEEPER_4LW_COMMANDS_WHITELIST = 
"zookeeper.4lw.commands.whitelist";
    +
    +    final static Map<Integer, String> cmd2String = new HashMap<Integer, 
String>();
    +
    +    final static Set<String> whiteListedCommands = new HashSet<String>();
     
         public static Map<Integer, String> getCmdMapView() {
             return Collections.unmodifiableMap(cmd2String);
         }
     
    +    // ZOOKEEPER-2693: Only allow white listed commands.
    +    public static Set<String> getWhiteListedCmdView() {
    +        if (!whiteListedCommands.isEmpty()) {
    +            return Collections.unmodifiableSet(whiteListedCommands);
    +        }
    +
    +        String commands = 
System.getProperty(ZOOKEEPER_4LW_COMMANDS_WHITELIST);
    +        if (commands != null) {
    +            String[] list = commands.split(",");
    +            for (String cmd : list) {
    +                whiteListedCommands.add(cmd.trim());
    +            }
    +        }
    +
    +        return Collections.unmodifiableSet(whiteListedCommands);
    --- End diff --
    
    Please add an INFO log message about the acceptable and configured 
`4lwords`. The log message will be printed only once during startup or first 
cmd invocation.


> DOS attack on wchp/wchc four letter words (4lw)
> -----------------------------------------------
>
>                 Key: ZOOKEEPER-2693
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2693
>             Project: ZooKeeper
>          Issue Type: Bug
>          Components: security, server
>    Affects Versions: 3.4.0, 3.5.1, 3.5.2
>            Reporter: Patrick Hunt
>            Assignee: Michael Han
>            Priority: Blocker
>             Fix For: 3.4.10, 3.5.3
>
>
> The wchp/wchc four letter words can be exploited in a DOS attack on the ZK 
> client port - typically 2181. The following POC attack was recently published 
> on the web:
> https://webcache.googleusercontent.com/search?q=cache:_CNGIz10PRYJ:https://www.exploit-db.com/exploits/41277/+&cd=14&hl=en&ct=clnk&gl=us
> The most straightforward way to block this attack is to not allow access to 
> the client port to non-trusted clients - i.e. firewall the ZooKeeper service 
> and only allow access to trusted applications using it for coordination.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to