Your one-stop web resource providing safety and security information to manufacturers

Wind River has an update for the multiple vulnerabilities in its VxWorks, according to a report with US-CERT.

The vulnerabilities are a stack-based buffer overflow, heap-based buffer overflow, integer underflow, improper restriction of operations within the bounds of a memory buffer, race condition, argument condition or modification, null pointer dereference, and an argument injection or modification.

Successful exploitation of these vulnerabilities could allow remote code execution. Wind River, working with Armis researchers Gregory Vishnepolsky, Dor Zusman, and Ben Seri, discovered these vulnerabilities.

Wind River reports the following versions of VxWorks suffer from the remotely exploitable vulnerabilities:
• All versions of VxWorks under CURRENT support (6.9.4.11, Vx7 SR540, Vx7 SR610) are affected by one or more of the CVE numbers detailed below.
• Older, end-of-life versions of VxWorks back to 6.5 are also affected by one or more of the CVE numbers below.
• All versions of the discontinued product Advanced Networking Technology (ANT) are likely affected by one or more of the CVE numbers below.
• The VxWorks bootrom network stack leverages the same IPnet source as VxWorks and, as a result, is also technically vulnerable to CVE-2019-12256. The same patches and mitigations apply to VxWorks and the bootrom network stack. However, the bootrom normally uses statically assigned IP-addresses, not DHCP. If that is true, then the defects related to those protocols do not apply in practice. Also a successful exploit of the bootrom network stack has a more difficult timing component. In typical applications, the bootrom does not listen to TCP-ports, which means that the TCP-related issues must be timed with the target downloading data from the network.
• VxWorks 653 MCE 3.x may be affected. Contact Wind River customer support for more details.

Cyber Security

The following VxWorks products are not affected:
• The latest release of VxWorks, VxWorks 7 SR620, is not affected by any of these CVEs
• VxWorks 5.3 through VxWorks 6.4 inclusive are not affected
• VxWorks Cert versions are not affected
• VxWorks 653 Versions 2.x and earlier are not affected
• VxWorks 653 MCE 3.x Cert Edition and later are not affected

In the stack-based buffer overflow, the issue resides in the IPv4 option parsing and may be triggered by IPv4 packets containing invalid options. The most likely outcome of triggering this defect is that the tNet0 task crashes. This vulnerability can result in remote code execution.

CVE-2019-12256 is the case number assigned to this vulnerability, which has a CVSS v3 base score of 9.8.

In addition, DHCP packets may go past the local area network (LAN) via DHCP-relays, but are otherwise confined to the LAN. The DHCP-client may be used by VxWorks and in the bootrom. Bootrom, using DHCP/BOOTP, is only vulnerable during the boot-process. This vulnerability may be used to overwrite the heap, which could result in a later crash when a task requests memory from the heap. This vulnerability can result in remote code execution.

CVE-2019-12257 is the case number assigned to this vulnerability, which has a CVSS v3 base score of 8.8.

Also, an attacker can either hijack an existing TCP-session and inject bad TCP-segments or establish a new TCP-session on any TCP-port listened to by the target. This vulnerability could lead to a buffer overflow of up to a full TCP receive-window (by default, 10k-64k depending on version). The buffer overflow occurs in the task calling recv()/recvfrom()/recvmsg(). Applications that pass a buffer equal to or larger than a full TCP-window are not susceptible to this attack. Applications passing a stack-allocated variable as a buffer are the easiest to exploit. The most likely outcome is a crash of the application reading from the affected socket, which could result in remote code execution.

CVE-2019-12255 is the case number assigned to this vulnerability, which has a CVSS v3 base score of 9.8.

In the improper restriction of operations within the bounds of a memory buffer issue, the vulnerability could lead to a buffer overflow of up to a full TCP receive-window (by default, 10k-64k depending on version). The buffer overflow happens in the task calling recv()/recvfrom()/recvmsg(). Applications that pass a buffer equal to or larger than a full TCP-window are not susceptible to this attack. Applications passing a stack-allocated variable as a buffer are the easiest to exploit. The most likely outcome is a crash of the application reading from the affected socket, which could result in remote code execution.

CVE-2019-12260 is the case number assigned to this vulnerability, which has a CVSS v3 base score of 9.8.

In another improper restriction of operations within the bounds of a memory buffer issue, the impact of this vulnerability is a buffer overflow of up to a full TCP receive-window (by default, 10k-64k depending on version). The buffer overflow happens in the task calling recv()/recvfrom()/recvmsg(). Applications that pass a buffer equal to or larger than a full TCP-window are not susceptible to this attack. Applications passing a stack-allocated variable as a buffer are the easiest to exploit. The most likely outcome is a crash of the application reading from the affected socket, which could result in remote code execution.

CVE-2019-12261 is the case number assigned to this vulnerability, which has a CVSS v3 base score of 8.8.

Another vulnerability relies on a race-condition between the network task (tNet0) and the receiving application. It is very difficult to trigger the race on a system with a single CPU-thread enabled, and there is no way to reliably trigger a race on SMP targets.

CVE-2019-12263 is the case number assigned to this vulnerability, which has a CVSS v3 base score of 8.1.

In addition, an attacker with the source and destination TCP-port and IP-addresses of a session can inject invalid TCP-segments into the flow, causing the TCP-session to be reset. An application will see this as an ECONNRESET error message when using the socket after such an attack. The most likely outcome is a crash of the application reading from the affected socket.

CVE-2019-12258 is the case number assigned to this vulnerability, which has a CVSS v3 base score of 7.5.

Also, a null pointer dereference vulnerability requires at least one IPv4 multicast address has been assigned to the target in an incorrect way (e.g., using the API intended for assigning unicast-addresses). An attacker may use CVE-2019-12264 to incorrectly assign a multicast IP-address. An attacker on the same LAN as the target system may use this vulnerability to cause a NULL-pointer dereference, which most likely will crash the tNet0 task.

CVE-2019-12259 is the case number assigned to this vulnerability, which has a CVSS v3 base score of 6.3.

In addition, an attacker residing on the LAN can send reverse-ARP responses to the victim system to assign unicast IPv4 addresses to the target.

CVE-2019-12262 is the case number assigned, which has a CVSS v3 base score of 7.1.

In another issue, an attacker residing on the LAN may choose to hijack a DHCP-client session that requests an IPv4 address. The attacker can send a multicast IP-address in the DHCP offer/ack message, which the victim system then incorrectly assigns. This vulnerability can be combined with CVE-2019-12259 to create a denial-of-service condition.

CVE-2019-12264 is the case number assigned to this vulnerability, which has a CVSS v3 base score of 7.1.

In addition, the IGMPv3 reception handler does not expect packets to be spread across multiple IP-fragments.

CVE-2019-12265 is the case number assigned to this vulnerability, which has a CVSS v3 base score of 5.4.

The product sees use in the critical manufacturing, information technology, healthcare and public health, transportation systems, and water and wastewater systems sectors. It also sees action on a global basis.

No known public exploits specifically target these vulnerabilities. However, an attacker with low skill level could leverage the vulnerabilities.

Wind River has produced controls and patches to mitigate the reported vulnerabilities. To obtain patches, send an email and indicate the VxWorks major version for which you need source patches.

For more detailed information on the vulnerabilities and the mitigating controls, see the Wind River advisory.

Vendors affected by the reported vulnerabilities have also released security advisories related to their affected products. Those advisories are as follows:

Rockwell Automation (login required)

Xerox

Dräger

Schneider Electric

Pin It on Pinterest

Share This