Skip to content

Commit cf33e10

Browse files
added 2 new lines from upstream source code
1 parent f939c32 commit cf33e10

1 file changed

Lines changed: 15 additions & 9 deletions

File tree

SPECS/gnutls/CVE-2026-42009.patch

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,20 @@ Subject: [PATCH] lib/buffers: ensure packets with duplicate sequence but
77

88
Signed-off-by: Azure Linux Security Servicing Account <azurelinux-security@microsoft.com>
99
Upstream-reference: AI Backport of https://gitlab.com/gnutls/gnutls/-/commit/f01e21441e29052a6f0963840794c41d3b3ee66d.patch https://gitlab.com/gnutls/gnutls/-/commit/f341441fad91142897d83b44a175ffc8f925b76f.patch
10+
1011
---
11-
lib/buffers.c | 21 +++++++++++++++------
12-
1 file changed, 15 insertions(+), 6 deletions(-)
12+
lib/buffers.c | 25 ++++++++++++++++++-------
13+
1 file changed, 18 insertions(+), 7 deletions(-)
1314

1415
diff --git a/lib/buffers.c b/lib/buffers.c
15-
index f419193..e412915 100644
16+
index f419193..e41ecde 100644
1617
--- a/lib/buffers.c
1718
+++ b/lib/buffers.c
18-
@@ -845,10 +845,7 @@ static int handshake_compare(const void *_e1, const void *_e2)
19+
@@ -844,11 +844,7 @@ static int handshake_compare(const void *_e1, const void *_e2)
20+
{
1921
const handshake_buffer_st *e1 = _e1;
2022
const handshake_buffer_st *e2 = _e2;
21-
23+
-
2224
- if (e1->sequence <= e2->sequence)
2325
- return 1;
2426
- else
@@ -27,14 +29,18 @@ index f419193..e412915 100644
2729
}
2830

2931
#define SSL2_HEADERS 1
30-
@@ -967,8 +964,20 @@ static int merge_handshake_packet(gnutls_session_t session,
32+
@@ -966,9 +962,24 @@ static int merge_handshake_packet(gnutls_session_t session,
33+
int exists = 0, i, pos = 0;
3134
int ret;
3235

36+
+ handshake_buffer_st *recv_buf =
37+
+ session->internals.handshake_recv_buffer;
38+
+
3339
for (i = 0; i < session->internals.handshake_recv_buffer_size; i++) {
3440
- if (session->internals.handshake_recv_buffer[i].htype ==
3541
- hsk->htype) {
36-
+ if (session->internals.handshake_recv_buffer[i].sequence == hsk->sequence) {
37-
+ if (session->internals.handshake_recv_buffer[i].htype != hsk->htype) {
42+
+ if (recv_buf[i].sequence == hsk->sequence) {
43+
+ if (recv_buf[i].htype != hsk->htype) {
3844
+ _gnutls_audit_log(
3945
+ session,
4046
+ "Discarded unexpected handshake packet "
@@ -43,7 +49,7 @@ index f419193..e412915 100644
4349
+ hsk->sequence,
4450
+ _gnutls_handshake2str(hsk->htype),
4551
+ _gnutls_handshake2str(
46-
+ session->internals.handshake_recv_buffer[i].htype));
52+
+ recv_buf[i].htype));
4753
+ _gnutls_handshake_buffer_clear(hsk);
4854
+ return 0;
4955
+ }

0 commit comments

Comments
 (0)