[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 35/36] docs: Document security implications of debugging
From: |
Alex Bennée |
Subject: |
[PATCH v3 35/36] docs: Document security implications of debugging |
Date: |
Tue, 27 Jun 2023 17:09:42 +0100 |
From: Ilya Leoshkevich <iii@linux.ibm.com>
Now that the GDB stub explicitly implements reading host files (note
that it was already possible by changing the emulated code to open and
read those files), concerns may arise that it undermines security.
Document the status quo, which is that the users are already
responsible for securing the GDB connection themselves.
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Message-Id: <20230621203627.1808446-8-iii@linux.ibm.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
docs/system/gdb.rst | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/docs/system/gdb.rst b/docs/system/gdb.rst
index 7d3718deef..9906991b84 100644
--- a/docs/system/gdb.rst
+++ b/docs/system/gdb.rst
@@ -214,3 +214,18 @@ The memory mode can be checked by sending the following
command:
``maintenance packet Qqemu.PhyMemMode:0``
This will change it back to normal memory mode.
+
+Security considerations
+=======================
+
+Connecting to the GDB socket allows running arbitrary code inside the guest;
+in case of the TCG emulation, which is not considered a security boundary, this
+also means running arbitrary code on the host. Additionally, when debugging
+qemu-user, it allows directly downloading any file readable by QEMU from the
+host.
+
+The GDB socket is not protected by authentication, authorization or encryption.
+It is therefore a responsibility of the user to make sure that only authorized
+clients can connect to it, e.g., by using a unix socket with proper
+permissions, or by opening a TCP socket only on interfaces that are not
+reachable by potential attackers.
--
2.39.2
- [PATCH v3 23/36] docs/devel/qom.rst: Correct code style, (continued)
- [PATCH v3 23/36] docs/devel/qom.rst: Correct code style, Alex Bennée, 2023/06/27
- [PATCH v3 32/36] gdbstub: Expose gdb_get_process() and gdb_get_first_cpu_in_process(), Alex Bennée, 2023/06/27
- [PATCH v3 29/36] linux-user: Expose do_guest_openat() and do_guest_readlink(), Alex Bennée, 2023/06/27
- [PATCH v3 36/36] tests/tcg: Add a test for info proc mappings, Alex Bennée, 2023/06/27
- [PATCH v3 28/36] gdbstub: clean-up vcont handling to avoid goto, Alex Bennée, 2023/06/27
- [PATCH v3 20/36] docs/devel: add some front matter to the devel index, Alex Bennée, 2023/06/27
- [PATCH v3 31/36] linux-user: Emulate /proc/self/smaps, Alex Bennée, 2023/06/27
- [PATCH v3 35/36] docs: Document security implications of debugging,
Alex Bennée <=
- [PATCH v3 18/36] plugins: fix memory leak while parsing options, Alex Bennée, 2023/06/27
- [PATCH v3 06/36] qemu-keymap: properly check return from xkb_keymap_mod_get_index, Alex Bennée, 2023/06/27
- [PATCH v3 21/36] include/migration: mark vmstate_register() as a legacy function, Alex Bennée, 2023/06/27
- [PATCH v3 25/36] docs/devel: introduce some key concepts for QOM development, Alex Bennée, 2023/06/27
- [PATCH v3 27/36] gdbstub: Permit reverse step/break to provide stop response, Alex Bennée, 2023/06/27
- [PATCH v3 26/36] gdbstub: lightly refactor connection to avoid snprintf, Alex Bennée, 2023/06/27