mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-07-16 16:27:27 +00:00
postgresql: CVE-2022-41862 Client memory disclosure when connecting with Kerberos to modified server
Upstream-Status: Backport from https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=3f7342671341a7a137f2d8b06ab3461cdb0e1d88 Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com> Signed-off-by: Armin Kuster <akuster808@gmail.com>
This commit is contained in:
committed by
Armin Kuster
parent
7b7913fd47
commit
4f78732be2
@@ -0,0 +1,48 @@
|
|||||||
|
From 3f7342671341a7a137f2d8b06ab3461cdb0e1d88 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Michael Paquier <michael@paquier.xyz>
|
||||||
|
Date: Mon, 6 Feb 2023 11:20:31 +0900
|
||||||
|
Subject: [PATCH] Properly NULL-terminate GSS receive buffer on error packet
|
||||||
|
reception
|
||||||
|
|
||||||
|
pqsecure_open_gss() includes a code path handling error messages with
|
||||||
|
v2-style protocol messages coming from the server. The client-side
|
||||||
|
buffer holding the error message does not force a NULL-termination, with
|
||||||
|
the data of the server getting copied to the errorMessage of the
|
||||||
|
connection. Hence, it would be possible for a server to send an
|
||||||
|
unterminated string and copy arbitrary bytes in the buffer receiving the
|
||||||
|
error message in the client, opening the door to a crash or even data
|
||||||
|
exposure.
|
||||||
|
|
||||||
|
As at this stage of the authentication process the exchange has not been
|
||||||
|
completed yet, this could be abused by an attacker without Kerberos
|
||||||
|
credentials. Clients that have a valid kerberos cache are vulnerable as
|
||||||
|
libpq opportunistically requests for it except if gssencmode is
|
||||||
|
disabled.
|
||||||
|
|
||||||
|
Author: Jacob Champion
|
||||||
|
Backpatch-through: 12
|
||||||
|
Security: CVE-2022-41862
|
||||||
|
|
||||||
|
CVE: CVE-2022-41862
|
||||||
|
Upstream-Status: Backport [https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=3f7342671341a7a137f2d8b06ab3461cdb0e1d88]
|
||||||
|
Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
|
||||||
|
---
|
||||||
|
src/interfaces/libpq/fe-secure-gssapi.c | 2 ++
|
||||||
|
1 file changed, 2 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/interfaces/libpq/fe-secure-gssapi.c b/src/interfaces/libpq/fe-secure-gssapi.c
|
||||||
|
index 7b5e383..aef201b 100644
|
||||||
|
--- a/src/interfaces/libpq/fe-secure-gssapi.c
|
||||||
|
+++ b/src/interfaces/libpq/fe-secure-gssapi.c
|
||||||
|
@@ -578,6 +578,8 @@ pqsecure_open_gss(PGconn *conn)
|
||||||
|
|
||||||
|
PqGSSRecvLength += ret;
|
||||||
|
|
||||||
|
+ Assert(PqGSSRecvLength < PQ_GSS_RECV_BUFFER_SIZE);
|
||||||
|
+ PqGSSRecvBuffer[PqGSSRecvLength] = '\0';
|
||||||
|
printfPQExpBuffer(&conn->errorMessage, "%s\n", PqGSSRecvBuffer + 1);
|
||||||
|
|
||||||
|
return PGRES_POLLING_FAILED;
|
||||||
|
--
|
||||||
|
2.25.1
|
||||||
|
|
||||||
@@ -9,6 +9,7 @@ SRC_URI += "\
|
|||||||
file://remove_duplicate.patch \
|
file://remove_duplicate.patch \
|
||||||
file://CVE-2022-1552.patch \
|
file://CVE-2022-1552.patch \
|
||||||
file://CVE-2022-2625.patch \
|
file://CVE-2022-2625.patch \
|
||||||
|
file://CVE-2022-41862.patch \
|
||||||
"
|
"
|
||||||
|
|
||||||
SRC_URI[sha256sum] = "89fda2de33ed04a98548e43f3ee5f15b882be17505d631fe0dd1a540a2b56dce"
|
SRC_URI[sha256sum] = "89fda2de33ed04a98548e43f3ee5f15b882be17505d631fe0dd1a540a2b56dce"
|
||||||
|
|||||||
Reference in New Issue
Block a user