Blame CVE-2023-49080.patch

9838c54
From 0056c3aa52cbb28b263a7a609ae5f17618b36652 Mon Sep 17 00:00:00 2001
9838c54
From: Min RK <benjaminrk@gmail.com>
9838c54
Date: Mon, 4 Dec 2023 17:36:43 +0100
9838c54
Subject: [PATCH] Merge pull request from GHSA-h56g-gq9v-vc8r
9838c54
9838c54
Co-authored-by: Steven Silvester <steven.silvester@ieee.org>
9838c54
---
9838c54
 jupyter_server/base/handlers.py             | 5 +++--
9838c54
 jupyter_server/services/kernels/handlers.py | 4 +---
9838c54
 2 files changed, 4 insertions(+), 5 deletions(-)
9838c54
9838c54
diff --git a/jupyter_server/base/handlers.py b/jupyter_server/base/handlers.py
9838c54
index e6e6b3246..b1b783cca 100644
9838c54
--- a/jupyter_server/base/handlers.py
9838c54
+++ b/jupyter_server/base/handlers.py
9838c54
@@ -10,7 +10,6 @@
9838c54
 import mimetypes
9838c54
 import os
9838c54
 import re
9838c54
-import traceback
9838c54
 import types
9838c54
 import warnings
9838c54
 from http.client import responses
9838c54
@@ -748,7 +747,9 @@ def write_error(self, status_code: int, **kwargs: Any) -> None:
9838c54
             else:
9838c54
                 reply["message"] = "Unhandled error"
9838c54
                 reply["reason"] = None
9838c54
-                reply["traceback"] = "".join(traceback.format_exception(*exc_info))
9838c54
+                # backward-compatibility: traceback field is present,
9838c54
+                # but always empty
9838c54
+                reply["traceback"] = ""
9838c54
         self.log.warning("wrote error: %r", reply["message"], exc_info=True)
9838c54
         self.finish(json.dumps(reply))
9838c54
 
9838c54
diff --git a/jupyter_server/services/kernels/handlers.py b/jupyter_server/services/kernels/handlers.py
9838c54
index 2fb753e93..217f0c9cc 100644
9838c54
--- a/jupyter_server/services/kernels/handlers.py
9838c54
+++ b/jupyter_server/services/kernels/handlers.py
9838c54
@@ -5,7 +5,6 @@
9838c54
 # Copyright (c) Jupyter Development Team.
9838c54
 # Distributed under the terms of the Modified BSD License.
9838c54
 import json
9838c54
-from traceback import format_tb
9838c54
 
9838c54
 try:
9838c54
     from jupyter_client.jsonutil import json_default
9838c54
@@ -102,8 +101,7 @@ async def post(self, kernel_id, action):
9838c54
             except Exception as e:
9838c54
                 message = "Exception restarting kernel"
9838c54
                 self.log.error(message, exc_info=True)
9838c54
-                traceback = format_tb(e.__traceback__)
9838c54
-                self.write(json.dumps({"message": message, "traceback": traceback}))
9838c54
+                self.write(json.dumps({"message": message, "traceback": ""}))
9838c54
                 self.set_status(500)
9838c54
             else:
9838c54
                 model = await ensure_async(km.kernel_model(kernel_id))