Upstream-Status: Backport from https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=3f7342671341a7a137f2d8b06ab3461cdb0e1d88
Signed-off-by: Hitendra Prajapati <hprajap...@mvista.com> --- .../postgresql/files/CVE-2022-41862.patch | 48 +++++++++++++++++++ .../recipes-dbs/postgresql/postgresql_12.9.bb | 1 + 2 files changed, 49 insertions(+) create mode 100644 meta-oe/recipes-dbs/postgresql/files/CVE-2022-41862.patch diff --git a/meta-oe/recipes-dbs/postgresql/files/CVE-2022-41862.patch b/meta-oe/recipes-dbs/postgresql/files/CVE-2022-41862.patch new file mode 100644 index 0000000000..f4093f4ba7 --- /dev/null +++ b/meta-oe/recipes-dbs/postgresql/files/CVE-2022-41862.patch @@ -0,0 +1,48 @@ +From 3f7342671341a7a137f2d8b06ab3461cdb0e1d88 Mon Sep 17 00:00:00 2001 +From: Michael Paquier <mich...@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 <hprajap...@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 + diff --git a/meta-oe/recipes-dbs/postgresql/postgresql_12.9.bb b/meta-oe/recipes-dbs/postgresql/postgresql_12.9.bb index 860e821b20..808c5d6e77 100644 --- a/meta-oe/recipes-dbs/postgresql/postgresql_12.9.bb +++ b/meta-oe/recipes-dbs/postgresql/postgresql_12.9.bb @@ -9,6 +9,7 @@ SRC_URI += "\ file://remove_duplicate.patch \ file://CVE-2022-1552.patch \ file://CVE-2022-2625.patch \ + file://CVE-2022-41862.patch \ " SRC_URI[sha256sum] = "89fda2de33ed04a98548e43f3ee5f15b882be17505d631fe0dd1a540a2b56dce" -- 2.25.1
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#101705): https://lists.openembedded.org/g/openembedded-devel/message/101705 Mute This Topic: https://lists.openembedded.org/mt/97822021/21656 Group Owner: openembedded-devel+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-