File CVE-2023-38200-02.patch of Package keylime.30092
From 27d515f4b828c4dbb1cb0a9724e458d13abfeb21 Mon Sep 17 00:00:00 2001
From: Alberto Planas <aplanas@suse.com>
Date: Wed, 19 Jul 2023 11:30:32 +0200
Subject: [PATCH] registrar_common: fix missing select and sock
Import the "select" module and use "self.request" on it for fix an issue
introduced (wrong review) in:
https://github.com/keylime/keylime/pull/1421
Signed-off-by: Alberto Planas <aplanas@suse.com>
---
keylime/registrar_common.py | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
Index: keylime-v6.3.2/keylime/registrar_common.py
===================================================================
--- keylime-v6.3.2.orig/keylime/registrar_common.py
+++ keylime-v6.3.2/keylime/registrar_common.py
@@ -7,6 +7,7 @@ import base64
import ipaddress
import threading
import sys
+import select
import signal
import ssl
import os
@@ -42,15 +43,16 @@ except SQLAlchemyError as err:
class ProtectedHandler(BaseHTTPRequestHandler, SessionManager):
def handle(self) -> None:
- """ Need to perform SSL handshake here, as do_handshake_on_connect=False for non-blocking SSL socket """
+ """Need to perform SSL handshake here, as
+ do_handshake_on_connect=False for non-blocking SSL socket"""
while True:
try:
self.request.do_handshake()
break
except ssl.SSLWantReadError:
- select.select([sock], [], [])
+ select.select([self.request], [], [])
except ssl.SSLWantWriteError:
- select.select([], [sock], [])
+ select.select([], [self.request], [])
except ssl.SSLError as e:
logger.error("SSL connection error: %s", e)
return