Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 03E04C433EF for ; Mon, 15 Nov 2021 14:38:53 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id DD00E63225 for ; Mon, 15 Nov 2021 14:38:52 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236422AbhKOOlM (ORCPT ); Mon, 15 Nov 2021 09:41:12 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57654 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236498AbhKOOkU (ORCPT ); Mon, 15 Nov 2021 09:40:20 -0500 Received: from mail-lf1-x132.google.com (mail-lf1-x132.google.com [IPv6:2a00:1450:4864:20::132]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5284FC0613B9 for ; Mon, 15 Nov 2021 06:37:23 -0800 (PST) Received: by mail-lf1-x132.google.com with SMTP id z34so44112237lfu.8 for ; Mon, 15 Nov 2021 06:37:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vastdata.com; s=google; h=mime-version:from:date:message-id:subject:to; bh=98viIoJAmUEQbr5K+A9c2vdudNxRB6VDzozfetEcy6o=; b=HH6xjFaEPvXH5NCeQUZhqe69e90muViGpRJpdvGIN9yyqv1g9YeU6kDnv6a7XUjfkE bNfu01z72ygB84mDdVWu+ZKE01/zCSk0i34AYfUpbjE12siLak6JzhKeDa8d8N6ng8vA Jnv3sKFf/chzAL6hAT0ZBqFss/zN60gx1LXTBoV3oPKy39Txedo2dH1mBsW+puiyOY0P 0M6qRjtrBFKhtEGqfSUHor+5WD+OT1whdPahbTrqS/4yyLUQW9gE5GVEHlfuok4N8WtY UhcaFUDS7bDcEoPlnQABOBjW/3dFPc/fsw0PX5hyurYh0Si1h1BsrQF83dnbRjkGmOqm LYFg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=98viIoJAmUEQbr5K+A9c2vdudNxRB6VDzozfetEcy6o=; b=TVXeimtQ1scUw8bXr6Zd+RlzIgbhoAFVhITqyEw1cv2toUpCV7Hq1CcFbJ4H8dLJFY a/1ilhm54i/vTqll7Q2SsMsWUCXbTwPHJWN15Q6P0WEpXggjDo6pqcpcQEz+8nOSAHIA B2MdXTANej1+GExY+yUC6gckS17sA1BYCqUuJDZENclps8oqVbQz9C4AEb/qiJ/lK8gC yVTazy/Za58rLS5tBE7kPWjoHGLgXJRd4JMLeUda36jbgksqQ3kZmr403twTL2Ql6xDf ueaEKYHiSRl0GOgqxkAcMEB0aTZ7ItcNPcWiGt6KLfUI7T/Pyxh1uY1NjJZT80+lLEAO axSA== X-Gm-Message-State: AOAM530rKvTWihGEGZksmCCBiXcV7IiC9lTh3Fu7uOXGJeSy9xadfvrS uUiJPg2yGFsZYK7AbhBIBpH64JIGP/zMLTeCmKrqb425CkPQYw== X-Google-Smtp-Source: ABdhPJxO2cXV2Vzbw77F3oO78jaFdbrVO2tLv4p2E3Gv9Vf2Y+B9QsRNWOISNyf+mmkpHBdvB6/MYnRiKfM3YQqpz/I= X-Received: by 2002:a05:6512:3b0a:: with SMTP id f10mr34770177lfv.410.1636987041356; Mon, 15 Nov 2021 06:37:21 -0800 (PST) MIME-Version: 1.0 From: Volodymyr Khomenko Date: Mon, 15 Nov 2021 16:37:10 +0200 Message-ID: Subject: NFS4 RPCGSS state protection (SP4_MACH_CRED) is not handled To: linux-nfs@vger.kernel.org, "J. Bruce Fields" , Ilan Steinberg Content-Type: multipart/mixed; boundary="0000000000001a490805d0d4bf6a" Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org --0000000000001a490805d0d4bf6a Content-Type: text/plain; charset="UTF-8" Hello linux-nfs, We have the following NFS4 test (implemented using pynfs framework, not regular NFS4 client): 1. NFS4 client wants to use RPCGSS (Kerberos) and starts NFS4 traffic with NFS4 NULL request to establish RPCGSS context of a machine account. 2. During EXCHANGE_ID operation (client establishment), client asks for SP4_MACH_CRED state protection with spo_must_enforce/spo_must_allow fields set to values that are usually used by NFS4 clients (as defined by rfc5661). 3. CREATE_SESSION and RECLAIM_COMPLETE operations (required for NFS4 session) are also done with RPCGSS and sevice=svc_gss_integrity - as required by spo_must_enforce option of state protection. If CREATE_SESSION is done with the wrong protection type, error is returned to the client (as expected). 4. However, when operations that are neither in spo_must_enforce nor in spo_must_allow list are done with the wrong protection type (flavor=AUTH_UNIX), NFS server accepts the request and replies by unexpected result (NFS4_OK) instead of error. In our test we used SEQUENCE + PUTROOTFH + GETFH compound operation with RPC credentials using flavor=AUTH_UNIX instead of RPCGSS. As for me, it looks like a security issue: client asked for state protection but man-in-the-middle can make unprotected requests for state-protected client and session. Expected behaviour from my side is: if NFS4 operation (like GETFH) from state-protected client is neither in spo_must_enforce nor in spo_must_allow lists of SP4_MACH_CRED, the server must fail the request if used credentials has a different flavor than RPCGSS (neither user GSS context nor machine account GSS context). From rfc5661 (18.35.3. DESCRIPTION): o For SP4_MACH_CRED or SP4_SSV state protection: * The list of operations (spo_must_enforce) that MUST use the specified state protection. This list comes from the results of EXCHANGE_ID. * The list of operations (spo_must_allow) that MAY use the specified state protection. This list comes from the results of EXCHANGE_ID. ... o SP4_MACH_CRED. If spa_how is SP4_MACH_CRED, then the client MUST send the EXCHANGE_ID request with RPCSEC_GSS as the security flavor, and with a service of RPC_GSS_SVC_INTEGRITY or RPC_GSS_SVC_PRIVACY. If SP4_MACH_CRED is specified, then the client wants to use an RPCSEC_GSS-based machine credential to protect its state. The server MUST note the principal the EXCHANGE_ID operation was sent with, and the GSS mechanism used. These notes collectively comprise the machine credential. Please see pcap file of the traffic (attached) - EXCHANGE_ID with SP4_MACH_CRED is the packet #41 and problematic PUTROOTFH + GETFH request is the packet #49. User linux NFS4 server was: [centos@rnd-nfs4-srv01 ~]$ uname -a Linux rnd-nfs4-srv01 3.10.0-1062.18.1.el7.x86_64 #1 SMP Tue Mar 17 23:49:17 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux [centos@rnd-nfs4-srv01 ~]$ cat /etc/redhat-release CentOS Linux release 7.7.1908 (Core) --0000000000001a490805d0d4bf6a Content-Type: application/x-pcapng; name="test_krb_protection_rpcgss_then_authsys.pcapng" Content-Disposition: attachment; filename="test_krb_protection_rpcgss_then_authsys.pcapng" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kw0nqb0l0 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 bv8AAAACAAAANQAAAAASRZJh4i28bQsAAAAAAAAAAAAAAQAAAAAAAAAHAAAABwAAAAAAAAA6AAAA AAAAABwEBAX//////wAAAAAMfLF0DMAViEnSIMm+4za6AAAsAQAABgAAABwBAAAAAAAAdLa3FoVP l/X6AAAA+gAAABI0VniavAANOgAZeAgARQAA7MnGQABABlmdCgABPgoAAWveWAgBXjk7dkM46oaA GAEGF4cAAAEBCAoAFvlTABfCFIAAALQ3MGpvAAAAAAAAAAIAAYajAAAABAAAAAEAAAABAAAAMAAA ACoAAAAOcm5kLXZvbG9keW15cjIAAAAAAAAAAAAAAAAAAwAAAAMAAAARAAAAZAAAAAAAAAAAAAAA Im5mczRfY2xpZW50LnB5OnB1dF9hbmRfZ2V0X3Jvb3RfZmgAAAAAAAEAAAADAAAANRJFkmHiLbxt CwAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAGAAAAAoAABwBAAAGAAAA+AAAAAAAAAB0trcW6Dan 9dYAAADWAAAAAA06ABl4mF2C4/9pCABFAADIJ+ZAAEAG+6EKAAFrCgABPggB3lhDOOqGXjk8LoAY AWmdFgAAAQEICgAXwhsAFvlTgAAAkDcwam8AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAibmZz NF9jbGllbnQucHk6cHV0X2FuZF9nZXRfcm9vdF9maAAnAAAAAwAAADUAAAAAEkWSYeItvG0LAAAA AAAAAAAAAAIAAAAAAAAABwAAAAcAAAAAAAAAGAAAAAAAAAAKAAAAAAAAAAgBAAEAAAAAAAAA+AAA AAYAAAAIAQAAAAAAAHS2txbLOez15gAAAOYAAAASNFZ4mrwADToAGXgIAEUAANjJx0AAQAZZsAoA AT4KAAFr3lgIAV45PC5DOOsagBgBDhdzAAABAQgKABb5WAAXwhuAAACgNzBqcAAAAAAAAAACAAGG owAAAAQAAAABAAAAAQAAADAAAAAqAAAADnJuZC12b2xvZHlteXIyAAAAAAAAAAAAAAAAAAMAAAAD AAAAEQAAAGQAAAAAAAAAAAAAACduZnM0X2tlcmJlcm9zX2FkLnB5OnRlc3Rfa3JiX3Byb3RlY3Rp b24AAAAAAQAAAAEAAAAsEkWSYeItvG0LAAAAAAAAAAAACAEAAAYAAAC8AAAAAAAAAHS2txZ5xff1 mgAAAJoAAAAADToAGXiYXYLj/2kIAEUAAIwn50AAQAb73AoAAWsKAAE+CAHeWEM46xpeOTzSgBgB f08GAAABAQgKABfCIQAW+ViAAABUNzBqcAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAnYgAAACduZnM0 X2tlcmJlcm9zX2FkLnB5OnRlc3Rfa3JiX3Byb3RlY3Rpb240AAAAAQAAACwAACdiAAC8AAAABgAA ADABAAAAAAAAdLa3Fm11LfYOAQAADgEAABI0VniavAANOgAZeAgARQABAMnIQABABlmHCgABPgoA AWveWAgBXjk80kM463KAGAEOF5sAAAEBCAoAFvlcABfCIYAAAMg3MGpxAAAAAAAAAAIAAYajAAAA BAAAAAEAAAAGAAAAHAAAAAEAAAAAAAAAAwAAAAIAAAAIBgAAAAAAAAAAAAAGAAAAHAQEBP////// AAAAACvLg5Y0PyL2svfUSLD0LlwAAABEAAAAAwAAAB1lbnZpcm9ubWVudC5weTpjbGVhbl9zZXNz aW9ucwAAAAAAAAEAAAABAAAALBJFkmHiLbxtCwAAAAAAAAAAAAAcBAQE//////8AAAAAK8uDlz6P ojQxZr3fe219LAAAMAEAAAYAAAD4AAAAAAAAAHS2txZAGUD21gAAANYAAAAADToAGXiYXYLj/2kI AEUAAMgn6EAAQAb7nwoAAWsKAAE+CAHeWEM463JeOT2egBgBlUf9AAABAQgKABfCJQAW+VyAAACQ NzBqcQAAAAEAAAAAAAAABgAAABwEBAX//////wAAAAAMfLF1TPyOFu/Xjl9oCqYCAAAAAAAAADgA AAADAAAAAAAAAB1lbnZpcm9ubWVudC5weTpjbGVhbl9zZXNzaW9ucwAAAgAAAAEAAAAsAAAAAAAA ABwEBAX//////wAAAAAMfLF2b3XPr4smePM+cOOvAAD4AAAABgAAACQBAAAAAAAAdLa3FrOiavYC AQAAAgEAABI0VniavAANOgAZeAgARQAA9MnJQABABlmSCgABPgoAAWveWAgBXjk9nkM47AaAGAEX F48AAAEBCAoAFvlgABfCJYAAALw3MGpyAAAAAAAAAAIAAYajAAAABAAAAAEAAAAGAAAAHAAAAAEA AAAAAAAABAAAAAIAAAAIBgAAAAAAAAAAAAAGAAAAHAQEBP//////AAAAACvLg5gc9V0s4MTCX+vC lAoAAAA4AAAABAAAABxlbnZpcm9ubWVudC5weTpjbGVhbl9jbGllbnRzAAAAAQAAAAEAAAA5EkWS YeItvG0AAAAcBAQE//////8AAAAAK8uDmS3FrDpnALyGGb5yKAAAJAEAAAYAAAD0AAAAAAAAAHS2 txZYZYD30gAAANIAAAAADToAGXiYXYLj/2kIAEUAAMQn6UAAQAb7ogoAAWsKAAE+CAHeWEM47AZe OT5egBgBqw9FAAABAQgKABfCOgAW+WCAAACMNzBqcgAAAAEAAAAAAAAABgAAABwEBAX//////wAA AAAMfLF3uxrXw9YqErenZmnKAAAAAAAAADQAAAAEAAAAAAAAABxlbnZpcm9ubWVudC5weTpjbGVh bl9jbGllbnRzAAAAAQAAADkAAAAAAAAAHAQEBf//////AAAAAAx8sXj2ctM4m+C7MyHBqYUAAPQA AAAFAAAAbAAAAAAAAADS0AUAavDLjAEAHABDb3VudGVycyBwcm92aWRlZCBieSBkdW1wY2FwAgAI ANLQBQD0h6qLAwAIANLQBQBc7MuMBAAIAKECAAAAAAAABQAIAAAAAAAAAAAAAAAAAGwAAAA= --0000000000001a490805d0d4bf6a--