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 1heDvs-00015N-1z for pgsql-hackers@arkaria.postgresql.org; Fri, 21 Jun 2019 07:26:00 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1heDvq-0008VJ-Mp for pgsql-hackers@arkaria.postgresql.org; Fri, 21 Jun 2019 07:25:58 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1heDvp-0008Qv-Lw for pgsql-hackers@lists.postgresql.org; Fri, 21 Jun 2019 07:25:58 +0000 Received: from out4-smtp.messagingengine.com ([66.111.4.28]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1heDvg-0008IV-69 for pgsql-hackers@postgresql.org; Fri, 21 Jun 2019 07:25:56 +0000 Received: from compute7.internal (compute7.nyi.internal [10.202.2.47]) by mailout.nyi.internal (Postfix) with ESMTP id AF20121F48 for ; Fri, 21 Jun 2019 03:25:45 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute7.internal (MEProxy); Fri, 21 Jun 2019 03:25:45 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-type:date:from:message-id :mime-version:subject:to:x-me-proxy:x-me-proxy:x-me-sender :x-me-sender:x-sasl-enc; s=fm3; bh=3reCL32JfEddzBKhZSprjoaQqvpIP 2tyOP0Bp0Oqi+U=; b=TelBph1INgXAPereYM7VscQKipr/PhpndQugXjANdrKvx 7fBu00Ym+BqDnDc/weNovtgDVJiO7yO1nbTRavaCImgWgwIgcMd8deTBh8sxZ9hp jKj0Fh5WyhNE77Fa4Ej+Dy4eVnZ4GFB1jUblWHH/oMqNqNPd/boHzzai30DTfBWt N1zp8MLEEuAuARkR2tNxfVIFmEhoeyXYRoCheKXDgvpHM9feSmbPNR8IReChpWhJ ESPD5iTWCbbUq/rRAHRkF/X08saA6cnBWlaaPWZ/qh/c1U7bpTJVjXg4Ejq1wAEk pmb7d8XwJSOmyVLKkb+YWx7DhAr+bMuOOc8gpuGkA== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduvddrtdehgdduvddtucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefhuffvohfkffgfgggtsehmtderre dtfeejnecuhfhrohhmpefrvghtvghrucfgihhsvghnthhrrghuthcuoehpvghtvghrrdgv ihhsvghnthhrrghuthesvdhnughquhgrughrrghnthdrtghomheqnecuffhomhgrihhnpe dvnhguqhhurggurhgrnhhtrdgtohhmpdhpohhsthhgrhgvshhqlhdrohhrghenucfkphep vddujedrvdegledrvddvgedrudelieenucfrrghrrghmpehmrghilhhfrhhomhepphgvth gvrhdrvghishgvnhhtrhgruhhtsedvnhguqhhurggurhgrnhhtrdgtohhmnecuvehluhhs thgvrhfuihiivgeptd X-ME-Proxy: Received: from april.pezone.net (pd9f9e0c4.dip0.t-ipconnect.de [217.249.224.196]) by mail.messagingengine.com (Postfix) with ESMTPA id ACB888005A for ; Fri, 21 Jun 2019 03:25:44 -0400 (EDT) From: Peter Eisentraut Subject: using explicit_bzero Openpgp: preference=signencrypt Autocrypt: addr=peter.eisentraut@2ndquadrant.com; prefer-encrypt=mutual; keydata= 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 3jI= To: pgsql-hackers Organization: 2ndQuadrant Message-ID: <42d26bde-5d5b-c90d-87ae-6cab875f73be@2ndquadrant.com> Date: Fri, 21 Jun 2019 09:25:43 +0200 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------557014F2C2ED00702B4ECAE4" Content-Language: en-US List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk This is a multi-part message in MIME format. --------------557014F2C2ED00702B4ECAE4 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit In a recent thread[0], the existence of explicit_bzero() was mentioned. I went to look where we could use that to clear sensitive information from memory and found a few candidates: - In be-secure-common.c, clear the entered SSL passphrase in the error path. (In the non-error path, the buffer belongs to OpenSSL.) - In libpq, clean up after reading .pgpass. Otherwise, the entire file including all passwords potentially remains in memory. - In libpq, clear the password after a connection is closed (freePGconn/part of PQfinish). - pg_hba.conf could potentially contain passwords for LDAP, so that should maybe also be cleared, but the structure of that code would make that more involved, so I skipped that for now. Efforts are probably better directed at providing facilities to avoid having to do that.[1] Any other ones? A patch that implements the first three is attached. [0]: https://www.postgresql.org/message-id/043403c2-f04d-3a69-aa8a-9bb7b9ce8e5b@iki.fi [1]: https://www.postgresql.org/message-id/flat/CA%2BhUKGJ44ssWhcKP1KYK2Dm9_XXk1_b629_qSDUhH1fWfuAvXg%40mail.gmail.com -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services --------------557014F2C2ED00702B4ECAE4 Content-Type: text/plain; charset=UTF-8; x-mac-type="0"; x-mac-creator="0"; name="0001-Use-explicit_bzero.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0001-Use-explicit_bzero.patch" RnJvbSA1Y2Q5ZWQ4ZTBjYzVmYWUxODY1N2FjYjAzM2JiZGI2ZmNiYTkwZjFiIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlcl9lQGdteC5u ZXQ+CkRhdGU6IFdlZCwgMTIgSnVuIDIwMTkgMDg6NTg6MjIgKzAwMDAKU3ViamVjdDogW1BB VENIXSBVc2UgZXhwbGljaXRfYnplcm8KCi0tLQogY29uZmlndXJlICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgMiArLQogY29uZmlndXJlLmluICAgICAgICAgICAgICAgICAgICAg ICAgIHwgMSArCiBzcmMvYmFja2VuZC9saWJwcS9iZS1zZWN1cmUtY29tbW9uLmMgfCAxICsK IHNyYy9pbmNsdWRlL3BnX2NvbmZpZy5oLmluICAgICAgICAgICB8IDMgKysrCiBzcmMvaW5j bHVkZS9wb3J0LmggICAgICAgICAgICAgICAgICAgfCA0ICsrKysKIHNyYy9pbnRlcmZhY2Vz L2xpYnBxL2ZlLWNvbm5lY3QuYyAgICB8IDggKysrKysrKysKIDYgZmlsZXMgY2hhbmdlZCwg MTggaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2NvbmZpZ3Vy ZSBiL2NvbmZpZ3VyZQppbmRleCBmZDYxYmY2NDcyLi4zZmE4ZWMwNjAzIDEwMDc1NQotLS0g YS9jb25maWd1cmUKKysrIGIvY29uZmlndXJlCkBAIC0xNTE3Niw3ICsxNTE3Niw3IEBAIGZp CiBMSUJTX2luY2x1ZGluZ19yZWFkbGluZT0iJExJQlMiCiBMSUJTPWBlY2hvICIkTElCUyIg fCBzZWQgLWUgJ3MvLWxlZGl0Ly9nJyAtZSAncy8tbHJlYWRsaW5lLy9nJ2AKIAotZm9yIGFj X2Z1bmMgaW4gY2JydCBjbG9ja19nZXR0aW1lIGNvcHlmaWxlIGZkYXRhc3luYyBnZXRpZmFk ZHJzIGdldHBlZXJ1Y3JlZCBnZXRybGltaXQgbWJzdG93Y3NfbCBtZW1tb3ZlIHBvbGwgcG9z aXhfZmFsbG9jYXRlIHBwb2xsIHBzdGF0IHB0aHJlYWRfaXNfdGhyZWFkZWRfbnAgcmVhZGxp bmsgc2V0cHJvY3RpdGxlIHNldHByb2N0aXRsZV9mYXN0IHNldHNpZCBzaG1fb3BlbiBzdHJj aHJudWwgc3Ryc2lnbmFsIHN5bWxpbmsgc3luY19maWxlX3JhbmdlIHVzZWxvY2FsZSB1dGlt ZSB1dGltZXMgd2NzdG9tYnNfbAorZm9yIGFjX2Z1bmMgaW4gY2JydCBjbG9ja19nZXR0aW1l IGNvcHlmaWxlIGV4cGxpY2l0X2J6ZXJvIGZkYXRhc3luYyBnZXRpZmFkZHJzIGdldHBlZXJ1 Y3JlZCBnZXRybGltaXQgbWJzdG93Y3NfbCBtZW1tb3ZlIHBvbGwgcG9zaXhfZmFsbG9jYXRl IHBwb2xsIHBzdGF0IHB0aHJlYWRfaXNfdGhyZWFkZWRfbnAgcmVhZGxpbmsgc2V0cHJvY3Rp dGxlIHNldHByb2N0aXRsZV9mYXN0IHNldHNpZCBzaG1fb3BlbiBzdHJjaHJudWwgc3Ryc2ln bmFsIHN5bWxpbmsgc3luY19maWxlX3JhbmdlIHVzZWxvY2FsZSB1dGltZSB1dGltZXMgd2Nz dG9tYnNfbAogZG8gOgogICBhc19hY192YXI9YCRhc19lY2hvICJhY19jdl9mdW5jXyRhY19m dW5jIiB8ICRhc190cl9zaGAKIGFjX2ZuX2NfY2hlY2tfZnVuYyAiJExJTkVOTyIgIiRhY19m dW5jIiAiJGFzX2FjX3ZhciIKZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5pbiBiL2NvbmZpZ3Vy ZS5pbgppbmRleCA0NTg2YTE3MTZjLi43NDg4ZjQ1MTlmIDEwMDY0NAotLS0gYS9jb25maWd1 cmUuaW4KKysrIGIvY29uZmlndXJlLmluCkBAIC0xNjE1LDYgKzE2MTUsNyBAQCBBQ19DSEVD S19GVU5DUyhtNF9ub3JtYWxpemUoWwogCWNicnQKIAljbG9ja19nZXR0aW1lCiAJY29weWZp bGUKKwlleHBsaWNpdF9iemVybwogCWZkYXRhc3luYwogCWdldGlmYWRkcnMKIAlnZXRwZWVy dWNyZWQKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2xpYnBxL2JlLXNlY3VyZS1jb21tb24u YyBiL3NyYy9iYWNrZW5kL2xpYnBxL2JlLXNlY3VyZS1jb21tb24uYwppbmRleCA4NzcyMjZk Mzc3Li40YzFjNmNiM2M0IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9saWJwcS9iZS1zZWN1 cmUtY29tbW9uLmMKKysrIGIvc3JjL2JhY2tlbmQvbGlicHEvYmUtc2VjdXJlLWNvbW1vbi5j CkBAIC0xMTgsNiArMTE4LDcgQEAgcnVuX3NzbF9wYXNzcGhyYXNlX2NvbW1hbmQoY29uc3Qg Y2hhciAqcHJvbXB0LCBib29sIGlzX3NlcnZlcl9zdGFydCwgY2hhciAqYnVmLAogCQlidWZb LS1sZW5dID0gJ1wwJzsKIAogZXJyb3I6CisJZXhwbGljaXRfYnplcm8oYnVmLCBzaXplKTsK IAlwZnJlZShjb21tYW5kLmRhdGEpOwogCXJldHVybiBsZW47CiB9CmRpZmYgLS1naXQgYS9z cmMvaW5jbHVkZS9wZ19jb25maWcuaC5pbiBiL3NyYy9pbmNsdWRlL3BnX2NvbmZpZy5oLmlu CmluZGV4IDZjZDRjZmVkMGEuLjAwNjJhNGE0MjYgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRl L3BnX2NvbmZpZy5oLmluCisrKyBiL3NyYy9pbmNsdWRlL3BnX2NvbmZpZy5oLmluCkBAIC0y MDEsNiArMjAxLDkgQEAKIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8ZWRpdGxp bmUvcmVhZGxpbmUuaD4gaGVhZGVyIGZpbGUuICovCiAjdW5kZWYgSEFWRV9FRElUTElORV9S RUFETElORV9ICiAKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZXhwbGljaXRf Ynplcm8nIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfRVhQTElDSVRfQlpFUk8KKwogLyog RGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBmZGF0YXN5bmMnIGZ1bmN0aW9uLiAqLwog I3VuZGVmIEhBVkVfRkRBVEFTWU5DCiAKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3BvcnQu aCBiL3NyYy9pbmNsdWRlL3BvcnQuaAppbmRleCBiNWMwM2Q5MTJiLi5hZjc1NGIyNjFjIDEw MDY0NAotLS0gYS9zcmMvaW5jbHVkZS9wb3J0LmgKKysrIGIvc3JjL2luY2x1ZGUvcG9ydC5o CkBAIC0zODEsNiArMzgxLDEwIEBAIGV4dGVybiBpbnQJaXNpbmYoZG91YmxlIHgpOwogI2Vu ZGlmCQkJCQkJCS8qIF9fY2xhbmdfXyAmJiAhX19jcGx1c3BsdXMgKi8KICNlbmRpZgkJCQkJ CQkvKiAhSEFWRV9JU0lORiAqLwogCisjaWZuZGVmIEhBVkVfRVhQTElDSVRfQlpFUk8KKyNk ZWZpbmUgZXhwbGljaXRfYnplcm8oYiwgbGVuKSBiemVybyhiLCBsZW4pCisjZW5kaWYKKwog I2lmbmRlZiBIQVZFX1NUUlRPRgogZXh0ZXJuIGZsb2F0IHN0cnRvZihjb25zdCBjaGFyICpu cHRyLCBjaGFyICoqZW5kcHRyKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvc3JjL2ludGVyZmFj ZXMvbGlicHEvZmUtY29ubmVjdC5jIGIvc3JjL2ludGVyZmFjZXMvbGlicHEvZmUtY29ubmVj dC5jCmluZGV4IGU1OGZhNjc0MmEuLjY3ZWExNjkzOTcgMTAwNjQ0Ci0tLSBhL3NyYy9pbnRl cmZhY2VzL2xpYnBxL2ZlLWNvbm5lY3QuYworKysgYi9zcmMvaW50ZXJmYWNlcy9saWJwcS9m ZS1jb25uZWN0LmMKQEAgLTM4ODYsNyArMzg4NiwxMCBAQCBmcmVlUEdjb25uKFBHY29ubiAq Y29ubikKIAkJCWlmIChjb25uLT5jb25uaG9zdFtpXS5wb3J0ICE9IE5VTEwpCiAJCQkJZnJl ZShjb25uLT5jb25uaG9zdFtpXS5wb3J0KTsKIAkJCWlmIChjb25uLT5jb25uaG9zdFtpXS5w YXNzd29yZCAhPSBOVUxMKQorCQkJeworCQkJCWV4cGxpY2l0X2J6ZXJvKGNvbm4tPmNvbm5o b3N0W2ldLnBhc3N3b3JkLCBzdHJsZW4oY29ubi0+Y29ubmhvc3RbaV0ucGFzc3dvcmQpKTsK IAkJCQlmcmVlKGNvbm4tPmNvbm5ob3N0W2ldLnBhc3N3b3JkKTsKKwkJCX0KIAkJfQogCQlm cmVlKGNvbm4tPmNvbm5ob3N0KTsKIAl9CkBAIC0zOTIwLDcgKzM5MjMsMTAgQEAgZnJlZVBH Y29ubihQR2Nvbm4gKmNvbm4pCiAJaWYgKGNvbm4tPnBndXNlcikKIAkJZnJlZShjb25uLT5w Z3VzZXIpOwogCWlmIChjb25uLT5wZ3Bhc3MpCisJeworCQlleHBsaWNpdF9iemVybyhjb25u LT5wZ3Bhc3MsIHN0cmxlbihjb25uLT5wZ3Bhc3MpKTsKIAkJZnJlZShjb25uLT5wZ3Bhc3Mp OworCX0KIAlpZiAoY29ubi0+cGdwYXNzZmlsZSkKIAkJZnJlZShjb25uLT5wZ3Bhc3NmaWxl KTsKIAlpZiAoY29ubi0+a2VlcGFsaXZlcykKQEAgLTY5MzksNiArNjk0NSw3IEBAIHBhc3N3 b3JkRnJvbUZpbGUoY29uc3QgY2hhciAqaG9zdG5hbWUsIGNvbnN0IGNoYXIgKnBvcnQsIGNv bnN0IGNoYXIgKmRibmFtZSwKIAkJaWYgKCFyZXQpCiAJCXsKIAkJCS8qIE91dCBvZiBtZW1v cnkuIFhYWDogYW4gZXJyb3IgbWVzc2FnZSB3b3VsZCBiZSBuaWNlLiAqLworCQkJZXhwbGlj aXRfYnplcm8oYnVmLCBzaXplb2YoYnVmKSk7CiAJCQlyZXR1cm4gTlVMTDsKIAkJfQogCkBA IC02OTU1LDYgKzY5NjIsNyBAQCBwYXNzd29yZEZyb21GaWxlKGNvbnN0IGNoYXIgKmhvc3Ru YW1lLCBjb25zdCBjaGFyICpwb3J0LCBjb25zdCBjaGFyICpkYm5hbWUsCiAJfQogCiAJZmNs b3NlKGZwKTsKKwlleHBsaWNpdF9iemVybyhidWYsIHNpemVvZihidWYpKTsKIAlyZXR1cm4g TlVMTDsKIAogI3VuZGVmIExJTkVMRU4KLS0gCjIuMjIuMAoK --------------557014F2C2ED00702B4ECAE4--