CVE-2023-46143 - Download of Code Without Integrity Check

Severity

75%

Complexity

39%

Confidentiality

60%

Download of Code Without Integrity Check vulnerability in PHOENIX CONTACT classic line PLCs allows an unauthenticated remote attacker to modify some or all applications on a PLC.

CVSS 3.1 Base Score 7.5. CVSS Attack Vector: network. CVSS Attack Complexity: low. CVSS Vector: (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N).

Demo Examples

Download of Code Without Integrity Check

CWE-494

This example loads an external class from a local subdirectory.


               
Class loadedClass = Class.forName("loadMe", true, loader);
new URL("file:subdir/")

This code does not ensure that the class loaded is the intended one, for example by verifying the class's checksum. An attacker may be able to modify the class file to execute malicious code.

Download of Code Without Integrity Check

CWE-494

This code includes an external script to get database credentials, then authenticates a user against the database, allowing access to the application.


               
}//assume the password is already encrypted, avoiding CWE-312
}//dbInfo.php makes $dbhost, $dbuser, $dbpass, $dbname available
return true;
return false;

This code does not verify that the external domain accessed is the intended one. An attacker may somehow cause the external domain name to resolve to an attack server, which would provide the information for a false database. The attacker may then steal the usernames and encrypted passwords from real user login attempts, or simply allow himself to access the application without a real user account.

This example is also vulnerable to a MITM (CWE-300) attack.

Overview

Type

PHOENIX CONTACT

First reported 1 year ago

2023-12-14 14:15:00

Last updated 1 year ago

2023-12-21 17:15:00

Affected Software

PHOENIX CONTACT CONFIG+

PHOENIX CONTACT PC WORX

PHOENIX CONTACT PC WORX EXPRESS

PHOENIX CONTACT PC WORX SRT

Stay updated

ExploitPedia is constantly evolving. Sign up to receive a notification when we release additional functionality.

Get in touch

If you'd like to report a bug or have any suggestions for improvements then please do get in touch with us using this form. We will get back to you as soon as we can.