pg.ddx.io pgsql-committers@postgresql.org mailing list archivehelp / color / mirror / Atom feed
pgsql: libpq: Bail out during SSL/GSS negotiation errors 7+ messages / 1 participants [nested] [flat]
* pgsql: libpq: Bail out during SSL/GSS negotiation errors @ 2024-11-11 01:20 Michael Paquier <michael@paquier.xyz> 0 siblings, 0 replies; 7+ messages in thread From: Michael Paquier @ 2024-11-11 01:20 UTC (permalink / raw) To: pgsql-committers@lists.postgresql.org libpq: Bail out during SSL/GSS negotiation errors This commit changes libpq so that errors reported by the backend during the protocol negotiation for SSL and GSS are discarded by the client, as these may include bytes that could be consumed by the client and write arbitrary bytes to a client's terminal. A failure with the SSL negotiation now leads to an error immediately reported, without a retry on any other methods allowed, like a fallback to a plaintext connection. A failure with GSS discards the error message received, and we allow a fallback as it may be possible that the error is caused by a connection attempt with a pre-11 server, GSS encryption having been introduced in v12. This was a problem only with v17 and newer versions; older versions discard the error message already in this case, assuming a failure caused by a lack of support for GSS encryption. Author: Jacob Champion Reviewed-by: Peter Eisentraut, Heikki Linnakangas, Michael Paquier Security: CVE-2024-10977 Backpatch-through: 12 Branch ------ REL_16_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/67d28bd02ec06f5056754bc295f57d2dd2bbd749 Modified Files -------------- doc/src/sgml/protocol.sgml | 21 +++++++++++---------- src/interfaces/libpq/fe-connect.c | 14 +++++--------- 2 files changed, 16 insertions(+), 19 deletions(-) ^ permalink raw reply [nested|flat] 7+ messages in thread
* pgsql: libpq: Bail out during SSL/GSS negotiation errors @ 2024-11-11 01:20 Michael Paquier <michael@paquier.xyz> 0 siblings, 0 replies; 7+ messages in thread From: Michael Paquier @ 2024-11-11 01:20 UTC (permalink / raw) To: pgsql-committers@lists.postgresql.org libpq: Bail out during SSL/GSS negotiation errors This commit changes libpq so that errors reported by the backend during the protocol negotiation for SSL and GSS are discarded by the client, as these may include bytes that could be consumed by the client and write arbitrary bytes to a client's terminal. A failure with the SSL negotiation now leads to an error immediately reported, without a retry on any other methods allowed, like a fallback to a plaintext connection. A failure with GSS discards the error message received, and we allow a fallback as it may be possible that the error is caused by a connection attempt with a pre-11 server, GSS encryption having been introduced in v12. This was a problem only with v17 and newer versions; older versions discard the error message already in this case, assuming a failure caused by a lack of support for GSS encryption. Author: Jacob Champion Reviewed-by: Peter Eisentraut, Heikki Linnakangas, Michael Paquier Security: CVE-2024-10977 Backpatch-through: 12 Branch ------ REL_13_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/7b49707b72612ef068ce9275b9b6da104f1960f3 Modified Files -------------- doc/src/sgml/protocol.sgml | 21 +++++++++++---------- src/interfaces/libpq/fe-connect.c | 15 ++++++--------- 2 files changed, 17 insertions(+), 19 deletions(-) ^ permalink raw reply [nested|flat] 7+ messages in thread
* pgsql: libpq: Bail out during SSL/GSS negotiation errors @ 2024-11-11 01:20 Michael Paquier <michael@paquier.xyz> 0 siblings, 0 replies; 7+ messages in thread From: Michael Paquier @ 2024-11-11 01:20 UTC (permalink / raw) To: pgsql-committers@lists.postgresql.org libpq: Bail out during SSL/GSS negotiation errors This commit changes libpq so that errors reported by the backend during the protocol negotiation for SSL and GSS are discarded by the client, as these may include bytes that could be consumed by the client and write arbitrary bytes to a client's terminal. A failure with the SSL negotiation now leads to an error immediately reported, without a retry on any other methods allowed, like a fallback to a plaintext connection. A failure with GSS discards the error message received, and we allow a fallback as it may be possible that the error is caused by a connection attempt with a pre-11 server, GSS encryption having been introduced in v12. This was a problem only with v17 and newer versions; older versions discard the error message already in this case, assuming a failure caused by a lack of support for GSS encryption. Author: Jacob Champion Reviewed-by: Peter Eisentraut, Heikki Linnakangas, Michael Paquier Security: CVE-2024-10977 Backpatch-through: 12 Branch ------ REL_12_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/2a951ef0aace58026c31b9a88aeeda19c9af4205 Modified Files -------------- doc/src/sgml/protocol.sgml | 21 +++++++++++---------- src/interfaces/libpq/fe-connect.c | 15 ++++++--------- 2 files changed, 17 insertions(+), 19 deletions(-) ^ permalink raw reply [nested|flat] 7+ messages in thread
* pgsql: libpq: Bail out during SSL/GSS negotiation errors @ 2024-11-11 01:20 Michael Paquier <michael@paquier.xyz> 0 siblings, 0 replies; 7+ messages in thread From: Michael Paquier @ 2024-11-11 01:20 UTC (permalink / raw) To: pgsql-committers@lists.postgresql.org libpq: Bail out during SSL/GSS negotiation errors This commit changes libpq so that errors reported by the backend during the protocol negotiation for SSL and GSS are discarded by the client, as these may include bytes that could be consumed by the client and write arbitrary bytes to a client's terminal. A failure with the SSL negotiation now leads to an error immediately reported, without a retry on any other methods allowed, like a fallback to a plaintext connection. A failure with GSS discards the error message received, and we allow a fallback as it may be possible that the error is caused by a connection attempt with a pre-11 server, GSS encryption having been introduced in v12. This was a problem only with v17 and newer versions; older versions discard the error message already in this case, assuming a failure caused by a lack of support for GSS encryption. Author: Jacob Champion Reviewed-by: Peter Eisentraut, Heikki Linnakangas, Michael Paquier Security: CVE-2024-10977 Backpatch-through: 12 Branch ------ REL_14_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/e6c9454764d880ee30735aa8c1e05d3674722ff9 Modified Files -------------- doc/src/sgml/protocol.sgml | 21 +++++++++++---------- src/interfaces/libpq/fe-connect.c | 15 ++++++--------- 2 files changed, 17 insertions(+), 19 deletions(-) ^ permalink raw reply [nested|flat] 7+ messages in thread
* pgsql: libpq: Bail out during SSL/GSS negotiation errors @ 2024-11-11 01:20 Michael Paquier <michael@paquier.xyz> 0 siblings, 0 replies; 7+ messages in thread From: Michael Paquier @ 2024-11-11 01:20 UTC (permalink / raw) To: pgsql-committers@lists.postgresql.org libpq: Bail out during SSL/GSS negotiation errors This commit changes libpq so that errors reported by the backend during the protocol negotiation for SSL and GSS are discarded by the client, as these may include bytes that could be consumed by the client and write arbitrary bytes to a client's terminal. A failure with the SSL negotiation now leads to an error immediately reported, without a retry on any other methods allowed, like a fallback to a plaintext connection. A failure with GSS discards the error message received, and we allow a fallback as it may be possible that the error is caused by a connection attempt with a pre-11 server, GSS encryption having been introduced in v12. This was a problem only with v17 and newer versions; older versions discard the error message already in this case, assuming a failure caused by a lack of support for GSS encryption. Author: Jacob Champion Reviewed-by: Peter Eisentraut, Heikki Linnakangas, Michael Paquier Security: CVE-2024-10977 Backpatch-through: 12 Branch ------ REL_15_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/d2c3e31c13a6820980c2c6019f0b8f9f0b63ae6e Modified Files -------------- doc/src/sgml/protocol.sgml | 21 +++++++++++---------- src/interfaces/libpq/fe-connect.c | 15 ++++++--------- 2 files changed, 17 insertions(+), 19 deletions(-) ^ permalink raw reply [nested|flat] 7+ messages in thread
* pgsql: libpq: Bail out during SSL/GSS negotiation errors @ 2024-11-11 01:20 Michael Paquier <michael@paquier.xyz> 0 siblings, 0 replies; 7+ messages in thread From: Michael Paquier @ 2024-11-11 01:20 UTC (permalink / raw) To: pgsql-committers@lists.postgresql.org libpq: Bail out during SSL/GSS negotiation errors This commit changes libpq so that errors reported by the backend during the protocol negotiation for SSL and GSS are discarded by the client, as these may include bytes that could be consumed by the client and write arbitrary bytes to a client's terminal. A failure with the SSL negotiation now leads to an error immediately reported, without a retry on any other methods allowed, like a fallback to a plaintext connection. A failure with GSS discards the error message received, and we allow a fallback as it may be possible that the error is caused by a connection attempt with a pre-11 server, GSS encryption having been introduced in v12. This was a problem only with v17 and newer versions; older versions discard the error message already in this case, assuming a failure caused by a lack of support for GSS encryption. Author: Jacob Champion Reviewed-by: Peter Eisentraut, Heikki Linnakangas, Michael Paquier Security: CVE-2024-10977 Backpatch-through: 12 Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/bf8835ea9717df50230c12133cff1b486dcc57be Modified Files -------------- doc/src/sgml/protocol.sgml | 21 ++++++------- src/interfaces/libpq/fe-connect.c | 34 +++++++--------------- src/interfaces/libpq/t/005_negotiate_encryption.pl | 2 +- 3 files changed, 22 insertions(+), 35 deletions(-) ^ permalink raw reply [nested|flat] 7+ messages in thread
* pgsql: libpq: Bail out during SSL/GSS negotiation errors @ 2024-11-11 01:20 Michael Paquier <michael@paquier.xyz> 0 siblings, 0 replies; 7+ messages in thread From: Michael Paquier @ 2024-11-11 01:20 UTC (permalink / raw) To: pgsql-committers@lists.postgresql.org libpq: Bail out during SSL/GSS negotiation errors This commit changes libpq so that errors reported by the backend during the protocol negotiation for SSL and GSS are discarded by the client, as these may include bytes that could be consumed by the client and write arbitrary bytes to a client's terminal. A failure with the SSL negotiation now leads to an error immediately reported, without a retry on any other methods allowed, like a fallback to a plaintext connection. A failure with GSS discards the error message received, and we allow a fallback as it may be possible that the error is caused by a connection attempt with a pre-11 server, GSS encryption having been introduced in v12. This was a problem only with v17 and newer versions; older versions discard the error message already in this case, assuming a failure caused by a lack of support for GSS encryption. Author: Jacob Champion Reviewed-by: Peter Eisentraut, Heikki Linnakangas, Michael Paquier Security: CVE-2024-10977 Backpatch-through: 12 Branch ------ REL_17_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/a5cc4c66719be2ae1eebe92ad97727dc905bbc6d Modified Files -------------- doc/src/sgml/protocol.sgml | 21 +++++++++++---------- src/interfaces/libpq/fe-connect.c | 34 ++++++++++------------------------ 2 files changed, 21 insertions(+), 34 deletions(-) ^ permalink raw reply [nested|flat] 7+ messages in thread
end of thread, other threads:[~2024-11-11 01:20 UTC | newest] Thread overview: 7+ messages (download: mbox mbox.gz follow: Atom feed) -- links below jump to the message on this page -- 2024-11-11 01:20 pgsql: libpq: Bail out during SSL/GSS negotiation errors Michael Paquier <michael@paquier.xyz> 2024-11-11 01:20 pgsql: libpq: Bail out during SSL/GSS negotiation errors Michael Paquier <michael@paquier.xyz> 2024-11-11 01:20 pgsql: libpq: Bail out during SSL/GSS negotiation errors Michael Paquier <michael@paquier.xyz> 2024-11-11 01:20 pgsql: libpq: Bail out during SSL/GSS negotiation errors Michael Paquier <michael@paquier.xyz> 2024-11-11 01:20 pgsql: libpq: Bail out during SSL/GSS negotiation errors Michael Paquier <michael@paquier.xyz> 2024-11-11 01:20 pgsql: libpq: Bail out during SSL/GSS negotiation errors Michael Paquier <michael@paquier.xyz> 2024-11-11 01:20 pgsql: libpq: Bail out during SSL/GSS negotiation errors Michael Paquier <michael@paquier.xyz>
This inbox is served by DDX for PostgreSQL; see mirroring instructions for how to clone and mirror all data and code used for this inbox