SAP SAProuter bis 721 Patch Level 117 Password Authentication passwordCheck erweiterte Rechte

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

Zusammenfassunginfo

In SAP SAProuter bis 721 Patch Level 117 wurde eine kritische Schwachstelle gefunden. Es geht um die Funktion passwordCheck der Komponente Password Authentication. Dank der Manipulation mit unbekannten Daten kann eine erweiterte Rechte-Schwachstelle ausgenutzt werden. Diese Schwachstelle wird als CVE-2014-0984 gehandelt. Ausserdem ist ein Exploit verfügbar. Es wird empfohlen, einen Patch anzuwenden, um dieses Problem zu beheben.

Detailsinfo

Es wurde eine Schwachstelle in SAP SAProuter bis 721 Patch Level 117 (Router Operating System) entdeckt. Sie wurde als kritisch eingestuft. Es betrifft die Funktion passwordCheck der Komponente Password Authentication. Durch die Manipulation mit einer unbekannten Eingabe kann eine erweiterte Rechte-Schwachstelle ausgenutzt werden. Im Rahmen von CWE wurde eine Klassifizierung als CWE-264 vorgenommen. Auswirkungen hat dies auf Vertraulichkeit und Integrität. Die Zusammenfassung von CVE lautet:

The passwordCheck function in SAP Router 721 patch 117, 720 patch 411, 710 patch 029, and earlier terminates validation of a Route Permission Table entry password upon encountering the first incorrect character, which allows remote attackers to obtrain passwords via a brute-force attack that relies on timing differences in responses to incorrect password guesses, aka a timing side-channel attack.

Die Schwachstelle wurde am 15.04.2014 durch Martin Gallo von Core Security Consulting Services als CORE-2014-0003 in Form eines nicht definierten Advisories (Website) publiziert. Bereitgestellt wird das Advisory unter coresecurity.com. Die Herausgabe passierte in Zusammenarbeit mit SAP. Die Identifikation der Schwachstelle wird seit dem 07.01.2014 mit CVE-2014-0984 vorgenommen. Der Angriff kann über das Netzwerk erfolgen. Zur Ausnutzung ist keine spezifische Authentisierung erforderlich. Es sind technische Details sowie ein öffentlicher Exploit zur Schwachstelle bekannt. Als Angriffstechnik weist das MITRE ATT&CK Projekt die ID T1068 aus. Folgender Code zeichnet sich für das Problem veantwortlich:

.text:0000000140005BE0 loc_140005BE0:                          ; CODE XREF: passwordCheck+191j
.text:0000000140005BE0                 movzx   ecx, byte ptr [rdi] ; rdi points to the routtab password
.text:0000000140005BE3                 movzx   eax, byte ptr [rdi+rsi] ; rdi+rsi points to the user-supplied password
.text:0000000140005BE7                 sub     ecx, eax
.text:0000000140005BE9                 jnz     short loc_140005BF3 ; password check failed
.text:0000000140005BEB                 add     rdi, 1
.text:0000000140005BEF                 test    eax, eax
.text:0000000140005BF1                 jnz     short loc_140005BE0
.text:0000000140005BF3
.text:0000000140005BF3 loc_140005BF3:                          ; CODE XREF: passwordCheck+189j
.text:0000000140005BF3                 test    ecx, ecx
.text:0000000140005BF5                 jz      short loc_140005C3F
.text:0000000140005BF7                 cmp     cs:trace_level, 1
.text:0000000140005BFE                 jl      short loc_140005C38
.text:0000000140005C00                 call    DpLock
.text:0000000140005C05                 mov     rcx, cs:qword_140273BC0
.text:0000000140005C0C                 lea     r8, aPasswordcheck ; "passwordCheck"
.text:0000000140005C13                 lea     rdx, aSPasswordCheck ; "%s: password check failed\n"
.text:0000000140005C1A                 mov     cs:dword_1401ADAA4, 1
.text:0000000140005C24                 call    DpTrace
.text:0000000140005C29
.text:0000000140005C29 loc_140005C29:                          ; CODE XREF: passwordCheck+16Fj
.text:0000000140005C29                 mov     cs:dword_1401ADAA4, 2
.text:0000000140005C33                 call    DpUnlock
.text:0000000140005C38
.text:0000000140005C38 loc_140005C38:                          ; CODE XREF: passwordCheck+135j
.text:0000000140005C38                                         ; passwordCheck+19Ej
.text:0000000140005C38                 mov     eax, 0FFFFFFA2h
.text:0000000140005C3D                 jmp     short loc_140005C41
.text:0000000140005C3F ; ---------------------------------------------------------------------------
.text:0000000140005C3F
.text:0000000140005C3F loc_140005C3F:                          ; CODE XREF: passwordCheck+12Cj
.text:0000000140005C3F                                         ; passwordCheck+174j ...
.text:0000000140005C3F                 xor     eax, eax        ; password check succeeded
Das Advisory weist darauf hin:
SAP Router permits and/or forbids networks connections based on a Route Permission Table. Entries in the Route Permission Table can have a password. If a password is specified for a given entry in the Route Permission Table, SAP Router checks whether the user-supplied password matches with the one in the Route Permission Table entry before permitting a connection. The vulnerable function passwordCheck performs a non-constant time string comparison for checking the user-supplied password against the on in the Route Permission Table. On the first non-matched character, the string comparison function immediately interrupts the evaluation cycle, which may let an attacker perform timing attacks.

Ein öffentlicher Exploit wurde durch Martin Gallo in Python entwickelt und direkt nach dem Advisory veröffentlicht. Unter coresecurity.com wird der Exploit zum Download angeboten. Er wird als proof-of-concept gehandelt. Vor einer Veröffentlichung handelte es sich 46 Tage um eine Zero-Day Schwachstelle. Während dieser Zeit erzielte er wohl etwa $5k-$25k auf dem Schwarzmarkt. Der durch den Exploit genutzte Code gestaltet sich wie folgt:

def try_password(options, password, output=None, k=0):
 
    p = SAPRouter(type=SAPRouter.SAPROUTER_ADMIN, version=options.router_version)
    p.adm_command = 2
    p.adm_password = password
    p = str(SAPNI() / p)
 
    fau_timer.init()
    fau_timer.send_request(options.remote_host, options.remote_port, p, len(p))
    fau_timer.calculate_time()
    cpuSpeed = fau_timer.get_speed()
    cpuTicks = fau_timer.get_cpu_ticks()
    time = fau_timer.get_time()
 
    if options.verbose:
        print "Request time: CPU Speed: %s Hz CPU Ticks: %s Time: %s nanosec" % (cpuSpeed, cpuTicks, time)
 
    # Write the time to the output file
    if output:
        output.write("%i,%s,%s\n" % (k, password, time))
 
    return time

Die Schwachstelle lässt sich durch das Einspielen des Patches SAP Note 1986895 lösen. Dieser kann von service.sap.com bezogen werden. Das Erscheinen einer Gegenmassnahme geschah vor und nicht erst nach der Veröffentlichung der Schwachstelle. SAP hat daher vorgängig gehandelt.

Unter anderem wird der Fehler auch in den Datenbanken von Exploit-DB (32919) und Secunia (SA57993†) dokumentiert. Schwachstellen ähnlicher Art sind dokumentiert unter VDB-5630, VDB-8450, VDB-8451 und VDB-8630. If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Betroffen

  • SAP Router release 721 Patch Level 117
  • SAP Router release 720 Patch Level 411
  • SAP Router release 710 Patch Level 029

Produktinfo

Typ

Hersteller

Name

Version

Lizenz

Webseite

CPE 2.3info

CPE 2.2info

CVSSv4info

VulDB Vector: 🔍
VulDB Zuverlässigkeit: 🔍

CVSSv3info

VulDB Meta Base Score: 6.5
VulDB Meta Temp Score: 5.9

VulDB Base Score: 6.5
VulDB Temp Score: 5.9
VulDB Vector: 🔍
VulDB Zuverlässigkeit: 🔍

CVSSv2info

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

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

NVD Base Score: 🔍

Exploitinginfo

Klasse: Erweiterte Rechte
CWE: CWE-264
CAPEC: 🔍
ATT&CK: 🔍

Physisch: Nein
Lokal: Nein
Remote: Ja

Verfügbarkeit: 🔍
Zugang: öffentlich
Status: Proof-of-Concept
Autor: Martin Gallo
Programmiersprache: 🔍
Download: 🔍

EPSS Score: 🔍
EPSS Percentile: 🔍

Preisentwicklung: 🔍
Aktuelle Preisschätzung: 🔍

0-Dayfreischaltenfreischaltenfreischaltenfreischalten
Heutefreischaltenfreischaltenfreischaltenfreischalten

Exploit-DB: 🔍

Threat Intelligenceinfo

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

Gegenmassnahmeninfo

Empfehlung: Patch
Status: 🔍

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

Patch: SAP Note 1986895

Timelineinfo

07.01.2014 🔍
20.02.2014 +44 Tage 🔍
20.02.2014 +0 Tage 🔍
07.04.2014 +46 Tage 🔍
15.04.2014 +8 Tage 🔍
15.04.2014 +0 Tage 🔍
16.04.2014 +1 Tage 🔍
17.04.2014 +1 Tage 🔍
17.04.2014 +0 Tage 🔍
15.08.2024 +3773 Tage 🔍

Quelleninfo

Hersteller: sap.com

Advisory: CORE-2014-0003
Person: Martin Gallo
Firma: Core Security Consulting Services
Status: Nicht definiert
Bestätigung: 🔍
Koordiniert: 🔍

CVE: CVE-2014-0984 (🔍)
GCVE (CVE): GCVE-0-2014-0984
GCVE (VulDB): GCVE-100-13005
Secunia: 57993 - SAProuter Password Timing Attack Weakness, Not Critical

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

Eintraginfo

Erstellt: 17.04.2014 14:22
Aktualisierung: 15.08.2024 13:47
Anpassungen: 17.04.2014 14:22 (80), 01.04.2019 14:26 (1), 15.08.2024 13:47 (16)
Komplett: 🔍
Cache ID: 216:236:103

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Diskussion

Bisher keine Kommentare. Sprachen: de + en.

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

Do you need the next level of professionalism?

Upgrade your account now!