Im eBPF-Subsystem, das es ermöglicht, Handler innerhalb des Linux-Kernels in einer speziellen virtuellen Maschine mit JIT auszuführen, wurde eine Schwachstelle (CVE-2021-3600) entdeckt, die es einem lokalen, unprivilegierten Benutzer ermöglicht, seinen Code im Linux-Kernel auszuführen. Das Problem wird durch eine fehlerhafte Trunkierung von 32-Bit-Registern bei der Durchführung von "div"- und "mod"-Operationen verursacht, wodurch es zu Lese- und Schreibvorgängen außerhalb des zugewiesenen Speichers kommen kann.
Die Schwachstelle wurde in einem fehlerhaften Patch für die 32-Bit-Division durch Null in Release 4.15 eingeführt, das auch in die Branches 4.4.x, 4.9.x und 4.14.x zurückportiert wurde. Die Ausnutzung der Schwachstelle ist für Kerne ab Version 4.14 möglich, in der die Methode zur Verfolgung von Werten im BPF-Validator geändert wurde. Das Problem wurde in Kernel Linux 5.11 behoben. Der Patch wurde in die Branches 5.10.x und 5.4.x zurückportiert, aber nicht in die Branches 4.19.x und 4.14.x übernommen. Ein Update mit dem Patch für die Schwachstelle wurde für Ubuntu und Debian Sid veröffentlicht. Ob das Problem auch in SUSE und RHEL auftritt, ist derzeit unklar.
Quelle: opennet.ru
