SAP SAProuter up to 721 Patch Level 117 Password Authentication passwordCheck access control

| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 5.9 | $0-$5k | 0.00 |
Summary
A vulnerability classified as critical has been found in SAP SAProuter up to 721 Patch Level 117. This vulnerability affects the function passwordCheck of the component Password Authentication. Performing a manipulation results in access control.
This vulnerability is known as CVE-2014-0984. Furthermore, an exploit is available.
Applying a patch is the recommended action to fix this issue.
Details
A vulnerability classified as critical has been found in SAP SAProuter up to 721 Patch Level 117 (Router Operating System). This affects the function passwordCheck of the component Password Authentication. The manipulation with an unknown input leads to a access control vulnerability. CWE is classifying the issue as CWE-264. This is going to have an impact on confidentiality, and integrity. The summary by CVE is:
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.
The weakness was published 04/15/2014 by Martin Gallo with Core Security Consulting Services as CORE-2014-0003 as not defined advisory (Website). The advisory is shared at coresecurity.com. The public release has been coordinated with SAP. This vulnerability is uniquely identified as CVE-2014-0984 since 01/07/2014. It is possible to initiate the attack remotely. No form of authentication is needed for exploitation. Technical details and a public exploit are known. MITRE ATT&CK project uses the attack technique T1068 for this issue. The reason for this vulnerability is this part of code:
.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 succeededThe advisory points out:
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.
A public exploit has been developed by Martin Gallo in Python and been published immediately after the advisory. The exploit is shared for download at coresecurity.com. It is declared as proof-of-concept. The vulnerability was handled as a non-public zero-day exploit for at least 46 days. During that time the estimated underground price was around $5k-$25k. The code used by the exploit is:
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 timeApplying the patch SAP Note 1986895 is able to eliminate this problem. The bugfix is ready for download at service.sap.com. A possible mitigation has been published before and not just after the disclosure of the vulnerability.
The vulnerability is also documented in the databases at Exploit-DB (32919) and Secunia (SA57993†). Similar entries are available at VDB-5630, VDB-8450, VDB-8451 and VDB-8630. Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.
Affected
- SAP Router release 721 Patch Level 117
- SAP Router release 720 Patch Level 411
- SAP Router release 710 Patch Level 029
Product
Type
Vendor
Name
Version
License
Website
- Vendor: https://www.sap.com/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔍VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 6.5VulDB Meta Temp Score: 5.9
VulDB Base Score: 6.5
VulDB Temp Score: 5.9
VulDB Vector: 🔍
VulDB Reliability: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexity | Authentication | Confidentiality | Integrity | Availability |
|---|---|---|---|---|---|
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Reliability: 🔍
NVD Base Score: 🔍
Exploiting
Class: Access controlCWE: CWE-264
CAPEC: 🔍
ATT&CK: 🔍
Physical: No
Local: No
Remote: Yes
Availability: 🔍
Access: Public
Status: Proof-of-Concept
Author: Martin Gallo
Programming Language: 🔍
Download: 🔍
EPSS Score: 🔍
EPSS Percentile: 🔍
Price Prediction: 🔍
Current Price Estimation: 🔍
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Exploit-DB: 🔍
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: PatchStatus: 🔍
Reaction Time: 🔍
0-Day Time: 🔍
Exploit Delay Time: 🔍
Patch: SAP Note 1986895
Timeline
01/07/2014 🔍02/20/2014 🔍
02/20/2014 🔍
04/07/2014 🔍
04/15/2014 🔍
04/15/2014 🔍
04/16/2014 🔍
04/17/2014 🔍
04/17/2014 🔍
08/15/2024 🔍
Sources
Vendor: sap.comAdvisory: CORE-2014-0003
Researcher: Martin Gallo
Organization: Core Security Consulting Services
Status: Not defined
Confirmation: 🔍
Coordinated: 🔍
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/en/?labs.20150716
See also: 🔍
Entry
Created: 04/17/2014 14:22Updated: 08/15/2024 13:47
Changes: 04/17/2014 14:22 (80), 04/01/2019 14:26 (1), 08/15/2024 13:47 (16)
Complete: 🔍
Cache ID: 216:F7B:103
No comments yet. Languages: en.
Please log in to comment.