Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hIYcz-00084d-Vn for pgsql-bugs@arkaria.postgresql.org; Mon, 22 Apr 2019 13:04:58 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1hIYcy-0006GR-Ml for pgsql-bugs@arkaria.postgresql.org; Mon, 22 Apr 2019 13:04:56 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hIYcy-0006GK-BL for pgsql-bugs@lists.postgresql.org; Mon, 22 Apr 2019 13:04:56 +0000 Received: from meldrar.postgresql.org ([2a02:c0:301:0:ffff::31]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hIYcv-0006QE-Mv for pgsql-bugs@lists.postgresql.org; Mon, 22 Apr 2019 13:04:55 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=postgresql.org; s=20171124; h=Content-Type:In-Reply-To:MIME-Version:Date: Message-ID:From:References:Cc:To:Subject:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=89vs8JChgwI/IIFlpY0hgFxaisrQL+mCEcuErk/k+rs=; b=xV4Yt4XBZFencDmYpcBGN5GJxM tz4egBVTlFY3c9trbdFd4V1+Xiwf7LCjzTc2uQMqfXhPNHSAkJSa53FfnP1+dwvESYdpRkYX2HZV2 iOVXnw452b1l4nNZLFl6ci9umiMt+l43r3tXTH4vR8QLv+qdNoNMhk3fEyj3DJMgANXVS0w/nKzl8 N3tQxMsSRvDkbC+4aC/wPgxJwO2oQJXm0kRvfhCGZQ/azX3eqGm3sfYDcOmj1Nd3XZjS1JCLdVG4B j46PjttABXSdbM+RW6AjbPpF6p9xkCAao4z7nbl8X8HWKs2bEeP6Ett5Eq4rUE+HIS+yKCI+fj8CM eqipDyMA==; Received: from pool-96-250-83-19.nycmny.fios.verizon.net ([96.250.83.19] helo=Ph33r-Retina.home) by meldrar.postgresql.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hIYcr-0004gb-7Z; Mon, 22 Apr 2019 13:04:51 +0000 Subject: Re: Possible to store invalid SCRAM-SHA-256 Passwords To: Michael Paquier Cc: pgsql-bugs@lists.postgresql.org, Stephen Frost References: <016deb6b-1f0a-8e9f-1833-a8675b170aa9@postgresql.org> <4240a41f-a957-fd7d-7c24-31683f259b9d@postgresql.org> <20190422015051.GA3433@paquier.xyz> From: "Jonathan S. Katz" Openpgp: preference=signencrypt Autocrypt: addr=jkatz@postgresql.org; keydata= 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 FmEC Message-ID: <17ed1a12-14df-a501-8b58-f4d1eba49e3f@postgresql.org> Date: Mon, 22 Apr 2019 09:04:43 -0400 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 MIME-Version: 1.0 In-Reply-To: <20190422015051.GA3433@paquier.xyz> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="iiyQmXJm1v2JSOrFzON5Eq3BFLZBfOujo" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --iiyQmXJm1v2JSOrFzON5Eq3BFLZBfOujo Content-Type: multipart/mixed; boundary="PHD68feeoMiAcoTMRGNAZ80Lm6OmLwAhz"; protected-headers="v1" From: "Jonathan S. Katz" To: Michael Paquier Cc: pgsql-bugs@lists.postgresql.org, Stephen Frost Message-ID: <17ed1a12-14df-a501-8b58-f4d1eba49e3f@postgresql.org> Subject: Re: Possible to store invalid SCRAM-SHA-256 Passwords References: <016deb6b-1f0a-8e9f-1833-a8675b170aa9@postgresql.org> <4240a41f-a957-fd7d-7c24-31683f259b9d@postgresql.org> <20190422015051.GA3433@paquier.xyz> In-Reply-To: <20190422015051.GA3433@paquier.xyz> --PHD68feeoMiAcoTMRGNAZ80Lm6OmLwAhz Content-Type: text/plain; charset=windows-1252 Content-Language: en-US Content-Transfer-Encoding: quoted-printable On 4/21/19 9:50 PM, Michael Paquier wrote: > On Sat, Apr 20, 2019 at 04:12:56PM -0400, Jonathan S. Katz wrote: >> I modified the "get_password_type" function to perform a SCRAM >> verification to see if it is a properly hashed SCRAM password. If it i= s, >> we treat the password as a SCRAM hashed one. Otherwise, we proceed to >> the next step, which is to treat it as a plainly stored one. >=20 > Since v10, we don't allow the storage of plain verifiers so if a > string does not match what we think is a correct SCRAM or MD5 > verifier, then it should be processed according to > password_encryption when storing the verifier or processed according > to the auth protocol with the HBA entry matching. Your patch looks > fine to me, I would have just added a test case in password.sql (no=20 > need to send a new patch I can take care of it). Thanks for verifying. I'm happy to add the test case -- I first wanted to ensure I was on the right track. > Any objections to back-patch that stuff to v10? +1; I did not try it out, but am very confident that scenario #2 would demonstrate the bug exists in 10 as well. Thanks, Jonathan --PHD68feeoMiAcoTMRGNAZ80Lm6OmLwAhz-- --iiyQmXJm1v2JSOrFzON5Eq3BFLZBfOujo Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEE+oS2la8r95ogZD/x8QSccp8cZScFAly9u+wACgkQ8QSccp8c ZScMGQ/9FNza1SElIozdn4+ZfxrJeLWTPrkm8lBGiT3k7KzmnZ7CN+o6wda/HtcP 1dt7M9/3iTWalclO+Kvbo3WQdgUsWtIXc5XzFRYmJyHa4HKT5lMlSVPpHCq1GSSX 0IVpHahN8G/ObmQmKldSvp+mNKTVRVFxCI+2XLqfqU7QY4uyCdF4aEO6FxMO084w pPJn9Txhv/FsErGz9NwIJR7lw15jBPgybIebHWrNuvwLFPJM+T/bSszJw8btG7gR GqdePrFRbPXpbHlfqBZKpSQuzdv0OUuU+/VEkRXaDq4FFvtsJ3q9H3bT6y9sBlEu rSliYmru8jBpd7i12Xx08DnsXAeTG1xWZ5LpPUem6JuSfICJkAISja2kO4SPH0+V DfdBUZ/Io2oc6Yxrs1AM2zTl2VdiaSe2UXW5JJepotxIh2kXxU35hp92jxQERglI PlDMrETDdbEJdjfKS12c5uDDrBT2XW4k41wIfZIyphTMP9nRkOsj6ajUFnjCw/Ig PM6MVpIp/30mn11V9By3QxhlmF5NBKu/B3ANddQjbCSO/zUL1U1zNhdF8CIrGvWR SmaDwDI7waJ4m+NivpIvIuHb8FYHjSK3kyvzeOfmLSmMwXPYzAT3cpexUbD1237S JqpIr4SBtik8f6Q1BUw2od5HGJ5H9ItG13o/8v/GKgwpMmCUcJ8= =446w -----END PGP SIGNATURE----- --iiyQmXJm1v2JSOrFzON5Eq3BFLZBfOujo--