SB2018071910 - Denial of service in libraw



SB2018071910 - Denial of service in libraw

Published: July 19, 2018 Updated: December 25, 2018

Security Bulletin ID SB2018071910
CSH Severity
High
Patch available
YES
Number of vulnerabilities 9
Exploitation vector Remote access
Highest impact Code execution

Breakdown by Severity

High 11% Low 89%
  • Low
  • Medium
  • High
  • Critical

Description

This security bulletin contains information about 9 vulnerabilities.


1) Stack-based buffer overflow (CVE-ID: CVE-2018-5809)

CWE-ID: CWE-121 - Stack-based buffer overflow

CVSSv4: 8.6 [CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N]


The vulnerability allows a remote attacker to execute arbitrary code on the target system.

The vulnerability exists due to a boundary error within the "LibRaw::parse_exif()" function (internal/dcraw_common.cpp) in LibRaw versions prior to 0.18.9. A remote attacker can trick the victim into processing a specially crafted input, trigger stack-based buffer overflow and execute arbitrary code on the target system.

Successful exploitation of this vulnerability may result in complete compromise of vulnerable system.


2) Stack-based buffer overflow (CVE-ID: CVE-2018-5808)

CWE-ID: CWE-121 - Stack-based buffer overflow

CVSSv4: 8.6 [CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N]


The vulnerability allows a remote attacker to execute arbitrary code on the target system.

The vulnerability exists due to a boundary error within the find_green() function, as defined in the internal/dcraw_common.cpp source code file in LibRaw versions prior to 0.18.9. A remote attacker can trick the victim into processing a specially crafted input, trigger stack-based buffer overflow and execute arbitrary code on the target system.

Successful exploitation of this vulnerability may result in complete compromise of vulnerable system.


3) Heap-based buffer overflow (CVE-ID: CVE-2018-5810)

CWE-ID: CWE-122 - Heap-based Buffer Overflow

CVSSv4: 4.8 [CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N]


The vulnerability allows a local attacker to cause DoS condition on the target system.

The vulnerability exists due to a boundary error within the rollei_load_raw() function, as defined in the internal/dcraw_common.cpp source code file in LibRaw versions prior to 0.18.9. A local attacker can supply a specially crafted input, trigger heap-based buffer overflow and cause the service to crash.


4) Infinite loop (CVE-ID: CVE-2018-5816)

CWE-ID: CWE-835 - Loop with Unreachable Exit Condition ('Infinite Loop')

CVSSv4: 5.1 [CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N]


The vulnerability allows a remote attacker to cause DoS condition on the target system.

The vulnerability exists due to a divide by zero integer overflow condition in the identify() function, as defined in the internal/dcraw_common.cpp source code file in LibRaw versions prior to 0.18.12. A remote attacker can trick the victim into processing a specially crafted NOKIARAW file, trigger an infinite loop condition and cause the service to crash.


5) Infinite loop (CVE-ID: CVE-2018-5815)

CWE-ID: CWE-835 - Loop with Unreachable Exit Condition ('Infinite Loop')

CVSSv4: 5.1 [CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N]


The vulnerability allows a remote attacker to cause DoS condition on the target system.

The vulnerability exists due to integer overflow condition in the parse_qt()function, as defined in the internal/dcraw_common.cpp source code file in LibRaw versions prior to 0.18.12. A remote attacker can trick the victim into processing a specially crafted Apple QuickTime file, trigger an infinite loop condition and cause the service to crash.


6) NULL pointer dereference (CVE-ID: CVE-2018-5812)

CWE-ID: CWE-476 - NULL Pointer Dereference

CVSSv4: 4.8 [CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N]


The vulnerability allows a local attacker to cause DoS condition on the target system.

The vulnerability exists due to insufficient validation of user-supplied input processed by the nikon_coolscan_load_raw() function, as defined in the internal/dcraw_common.cpp source code file in LibRaw versions prior to 0.18.9. A local attacker can supply a specially crafted input, trigger a NULL pointer dereference and cause the service to crash.


7) Out-of-bounds read (CVE-ID: CVE-2018-5811)

CWE-ID: CWE-125 - Out-of-bounds read

CVSSv4: 4.8 [CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N]


The vulnerability allows a local attacker to cause DoS condition on the target system.

The vulnerability exists due to an out-of-bounds read condition in the nikon_coolscan_load_raw() function, as defined in the internal/dcraw_common.cpp source code file  in LibRaw versions prior to 0.18.9. A local attacker can supply a specially crafted input and cause the service to crash.


8) Type confusion (CVE-ID: CVE-2018-5804)

CWE-ID: CWE-369 - Divide By Zero

CVSSv4: 4.8 [CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N]


The vulnerability allows a local attacker to cause DoS condition on the target system.

The vulnerability exists due to type confusion error within the "identify()" function (internal/dcraw_common.cpp). A local attacker can supply a specially crafted input, trigger divide by zero error and cause the service to crash.


9) Out-of-bounds read (CVE-ID: CVE-2018-5807)

CWE-ID: CWE-125 - Out-of-bounds read

CVSSv4: 4.8 [CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N]


The vulnerability allows a local attacker to cause DoS condition on the target system.

The vulnerability exists due to an out-of-bounds read condition within the "samsung_load_raw()" function (internal/dcraw_common.cpp) . A local attacker can supply a specially crafted input and cause the service to crash.


Remediation

Install update from vendor's website.