-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

===========================================================================
             AUSCERT External Security Bulletin Redistribution

                               ESB-2023.3944
        ICS Advisory | ICSA-23-194-04 Siemens SIMATIC MV500 Devices
                               14 July 2023

===========================================================================

        AusCERT Security Bulletin Summary
        ---------------------------------

Product:           Siemens SIMATIC MV500 Devices
Publisher:         ICS-CERT
Operating System:  Network Appliance
Resolution:        Patch/Upgrade
CVE Names:         CVE-2023-0286 CVE-2023-0215 CVE-2022-42329
                   CVE-2022-42328 CVE-2022-32296 CVE-2022-21166
                   CVE-2022-21125 CVE-2022-21123 CVE-2022-4450
                   CVE-2022-4304 CVE-2022-3643 CVE-2022-1012
                   CVE-2022-0812  

Original Bulletin: 
   https://www.cisa.gov/news-events/ics-advisories/icsa-23-194-04

Comment: CVSS (Max):  8.2 CVE-2022-1012 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H)
         CVSS Source: ICS-CERT
         Calculator:  https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H

- --------------------------BEGIN INCLUDED TEXT--------------------

ICS Advisory (ICSA-23-194-04)

Siemens SIMATIC MV500 Devices

Release Date
July 13, 2023

1. EXECUTIVE SUMMARY

  o CVSS v3 8.2
  o ATTENTION: Exploitable remotely/low attack complexity
  o Vendor: Siemens
  o Equipment: SIMATIC MV500 series devices
  o Vulnerabilities: Exposure of Sensitive Information to an Unauthorized
    Actor, Missing Release of Memory after Effective Lifetime, Injection,
    Inadequate Encryption Strength, Double Free, Incomplete Cleanup, Observable
    Discrepancy, Improper Locking, Use After Free, Improper Input Validation

2. RISK EVALUATION

Successful exploitation of these vulnerabilities could allow an attacker to
read memory contents, disclose information, or cause a denial-of-service
condition.

3. TECHNICAL DETAILS

3.1 AFFECTED PRODUCTS

The following products from Siemens are affected:

  o SIMATIC MV540 H (6GF3540-0GE10): All versions prior to v3.3.4
  o SIMATIC MV540 S (6GF3540-0CD10): All versions prior to v 3.3.4
  o SIMATIC MV550 H (6GF3550-0GE10): All versions prior to v 3.3.4
  o SIMATIC MV550 S (6GF3550-0CD10): All versions prior to v 3.3.4
  o SIMATIC MV560 U (6GF3560-0LE10): All versions prior to v 3.3.4
  o SIMATIC MV560 X (6GF3560-0HE10): All versions prior to v 3.3.4

3.2 VULNERABILITY OVERVIEW

3.2.1 EXPOSURE OF SENSITIVE INFORMATION TO AN UNAUTHORIZED ACTOR CWE-200

An information leak flaw was found in NFS over RDMA in the net/sunrpc/xprtrdma/
rpc_rdma.c in the Linux kernel. This flaw allows an attacker with normal user
privileges to leak kernel information.

CVE-2022-0812 has been assigned to this vulnerability. A CVSS v3 base score of
4.3 has been calculated; the CVSS vector string is ( AV:N/AC:L/PR:L/UI:N/S:U/
C:L/I:N/A:N ).

3.2.2 MISSING RELEASE OF MEMORY AFTER EFFECTIVE LIFETIME CWE-401

A memory leak problem was found in the TCP source port generation algorithm in
net/ipv4/tcp.c due to the small table perturb size. This flaw may allow an
attacker to information leak and may cause a denial-of-service problem.

CVE-2022-1012 has been assigned to this vulnerability. A CVSS v3 base score of
8.2 has been calculated; the CVSS vector string is ( AV:N/AC:L/PR:N/UI:N/S:U/
C:L/I:N/A:H ).

3.2.3 IMPROPER NEUTRALIZATION OF SPECIAL ELEMENTS IN OUTPUT USED BY A
DOWNSTREAM COMPONENT ('INJECTION') CWE-74

Guests can trigger NIC interface reset/abort/crash via netback It is possible
for a guest to trigger a NIC interface reset/abort/crash in a Linux based
network backend by sending certain kinds of packets. It appears to be an
(unwritten?) assumption in the rest of the Linux network stack that packet
protocol headers are all contained within the linear section of the SKB and
some NICs behave badly if this is not the case. This has been reported to occur
with Cisco (enic) and Broadcom NetXtrem II BCM5780 (bnx2x) though it may be an
issue with other NICs/drivers as well. In case the frontend is sending requests
with split headers, netback will forward those violating above mentioned
assumption to the networking core, resulting in said misbehavior.

CVE-2022-3643 has been assigned to this vulnerability. A CVSS v3 base score of
6.5 has been calculated; the CVSS vector string is ( AV:L/AC:L/PR:L/UI:N/S:C/
C:N/I:N/A:H ).

3.2.4 INADEQUATE ENCRYPTION STRENGTH CWE-326

A timing-based side channel exists in the OpenSSL RSA decryption implementation
which could be sufficient to recover a plaintext across a network in a
Bleichenbacher style attack. To achieve a successful decryption an attacker
would have to be able to send a very large number of trial messages for
decryption. The vulnerability affects all RSA padding modes: PKCS#1 v1.5,
RSA-OEAP and RSASVE. For example, in a TLS connection, RSA is commonly used by
a client to send an encrypted pre-master secret to the server. An attacker that
had observed a genuine connection between a client and a server could use this
flaw to send trial messages to the server and record the time taken to process
them. After a sufficiently large number of messages the attacker could recover
the pre-master secret used for the original connection and thus be able to
decrypt the application data sent over that connection.

CVE-2022-4304 has been assigned to this vulnerability. A CVSS v3 base score of
5.9 has been calculated; the CVSS vector string is ( AV:N/AC:H/PR:N/UI:N/S:U/
C:N/I:H/A:N ).

3.2.5 DOUBLE FREE CWE-415

The function PEM_read_bio_ex() reads a PEM file from a BIO and parses and
decodes the "name" (e.g. "CERTIFICATE"), any header data and the payload data.
If the function succeeds then the "name_out", "header" and "data" arguments are
populated with pointers to buffers containing the relevant decoded data. The
caller is responsible for freeing those buffers. It is possible to construct a
PEM file that results in 0 bytes of payload data. In this case PEM_read_bio_ex
() will return a failure code but will populate the header argument with a
pointer to a buffer that has already been freed. If the caller also frees this
buffer, then a double free will occur. This will most likely lead to a crash.
This could be exploited by an attacker who has the ability to supply malicious
PEM files for parsing to achieve a denial-of-service attack. The functions
PEM_read_bio() and PEM_read() are simple wrappers around PEM_read_bio_ex() and
therefore these functions are also directly affected. These functions are also
called indirectly by a number of other OpenSSL functions including
PEM_X509_INFO_read_bio_ex() and SSL_CTX_use_serverinfo_file() which are also
vulnerable. Some OpenSSL internal uses of these functions are not vulnerable
because the caller does not free the header argument if PEM_read_bio_ex()
returns a failure code. These locations include the PEM_read_bio_TYPE()
functions as well as the decoders introduced in OpenSSL 3.0. The OpenSSL
asn1parse command line application is also impacted by this issue.

CVE-2022-4450 has been assigned to this vulnerability. A CVSS v3 base score of
5.9 has been calculated; the CVSS vector string is ( AV:N/AC:H/PR:N/UI:N/S:U/
C:N/I:N/A:H ).

3.2.6 INCOMPLETE CLEANUP CWE-459

Incomplete cleanup of multi-core shared buffers for some Intel(R) processors
may allow an authenticated user to potentially enable information disclosure
via local access.

CVE-2022-21123 has been assigned to this vulnerability. A CVSS v3 base score of
5.5 has been calculated; the CVSS vector string is ( AV:L/AC:L/PR:L/UI:N/S:U/
C:H/I:N/A:N ).

3.2.7 INCOMPLETE CLEANUP CWE-459

Incomplete cleanup of microarchitectural fill buffers on some Intel(R)
processors may allow an authenticated user to potentially enable information
disclosure via local access.

CVE-2022-21125 has been assigned to this vulnerability. A CVSS v3 base score of
5.5 has been calculated; the CVSS vector string is ( AV:L/AC:L/PR:L/UI:N/S:U/
C:H/I:N/A:N ).

3.2.8 INCOMPLETE CLEANUP CWE-459

Incomplete cleanup in specific special register write operations for some Intel
(R) processors may allow an authenticated user to potentially enable
information disclosure via local access.

CVE-2022-21166 has been assigned to this vulnerability. A CVSS v3 base score of
5.5 has been calculated; the CVSS vector string is ( AV:L/AC:L/PR:L/UI:N/S:U/
C:H/I:N/A:N ).

3.2.9 OBSERVABLE DISCREPANCY CWE-203

The Linux kernel before 5.17.9 allows TCP servers to identify clients by
observing what source ports are used. This occurs because of the use of
Algorithm 4 ("double-hash port selection algorithm") of RFC 6056.

CVE-2022-32296 has been assigned to this vulnerability. A CVSS v3 base score of
3.3 has been calculated; the CVSS vector string is ( AV:L/AC:L/PR:L/UI:N/S:U/
C:L/I:N/A:N ).

3.2.10 IMPROPER LOCKING CWE-667

Guests can trigger deadlock in Linux netback driver. The patch for XSA-392
introduced another issue which might result in a deadlock when trying to free
the SKB of a packet dropped due to the XSA-392 handling (CVE-2022-42328).
Additionally, when dropping packages for other reasons the same deadlock could
occur in case of netpoll being active for the interface the xen-netback driver
is connected to (CVE-2022-42329).

CVE-2022-42328 has been assigned to this vulnerability. A CVSS v3 base score of
5.5 has been calculated; the CVSS vector string is ( AV:L/AC:L/PR:L/UI:N/S:U/
C:N/I:N/A:H ).

3.2.11 IMPROPER LOCKING CWE-667

Guests can trigger deadlock in Linux netback drive. The patch for XSA-392
introduced another issue which might result in a deadlock when trying to free
the SKB of a packet dropped due to the XSA-392 handling (CVE-2022-42328).
Additionally, when dropping packages for other reasons the same deadlock could
occur in case of netpoll being active for the interface the xen-netback driver
is connected to (CVE-2022-42329).

CVE-2022-42329 has been assigned to this vulnerability. A CVSS v3 base score of
5.5 has been calculated; the CVSS vector string is ( AV:L/AC:L/PR:L/UI:N/S:U/
C:N/I:N/A:H ).

3.2.12 USE AFTER FREE CWE-416

The public API function BIO_new_NDEF is a helper function used for streaming
ASN.1 data via a BIO. It is primarily used internally to OpenSSL to support the
SMIME, CMS and PKCS7 streaming capabilities, but may also be called directly by
end user applications. The function receives a BIO from the caller, prepends a
new BIO_f_asn1 filter BIO onto the front of it to form a BIO chain, and then
returns the new head of the BIO chain to the caller. Under certain conditions,
for example if a CMS recipient public key is invalid, the new filter BIO is
freed, and the function returns a NULL result indicating a failure. However, in
this case, the BIO chain is not properly cleaned up and the BIO passed by the
caller still retains internal pointers to the previously freed filter BIO. If
the caller then goes on to call BIO_pop() on the BIO then a use-after-free will
occur. This will most likely result in a crash. This scenario occurs directly
in the internal function B64_write_ASN1() which may cause BIO_new_NDEF() to be
called and will subsequently call BIO_pop() on the BIO. This internal function
is in turn called by the public API functions PEM_write_bio_ASN1_stream,
PEM_write_bio_CMS_stream, PEM_write_bio_PKCS7_stream, SMIME_write_ASN1,
SMIME_write_CMS and SMIME_write_PKCS7. Other public API functions that may be
impacted by this include i2d_ASN1_bio_stream, BIO_new_CMS, BIO_new_PKCS7,
i2d_CMS_bio_stream and i2d_PKCS7_bio_stream. The OpenSSL cms and smime command
line applications are similarly affected.

CVE-2023-0215 has been assigned to this vulnerability. A CVSS v3 base score of
5.9 has been calculated; the CVSS vector string is ( AV:N/AC:H/PR:N/UI:N/S:U/
C:N/I:N/A:H ).

3.2.13 IMPROPER INPUT VALIDATION CWE-20

There is a type confusion vulnerability relating to X.400 address processing
inside an X.509 GeneralName. X.400 addresses were parsed as an ASN1_STRING but
the public structure definition for GENERAL_NAME incorrectly specified the type
of the x400Address field as ASN1_TYPE. This field is subsequently interpreted
by the OpenSSL function GENERAL_NAME_cmp as an ASN1_TYPE rather than an
ASN1_STRING. When CRL checking is enabled (i.e., the application sets the
X509_V_FLAG_CRL_CHECK flag), this vulnerability may allow an attacker to pass
arbitrary pointers to a memcmp call, enabling them to read memory contents or
enact a denial of service. In most cases, the attack requires the attacker to
provide both the certificate chain and CRL, neither of which needs to have a
valid signature. If the attacker only controls one of these inputs, the other
input must already contain an X.400 address as a CRL distribution point, which
is uncommon. As such, this vulnerability is most likely to only affect
applications which have implemented their own functionality for retrieving CRLs
over a network.

CVE-2023-0286 has been assigned to this vulnerability. A CVSS v3 base score of
7.4 has been calculated; the CVSS vector string is ( AV:N/AC:H/PR:N/UI:N/S:U/
C:H/I:N/A:H ).

3.3 BACKGROUND

  o CRITICAL INFRASTRUCTURE SECTORS: Multiple Sectors
  o COUNTRIES/AREAS DEPLOYED: Worldwide
  o COMPANY HEADQUARTERS LOCATION: Germany

3.4 RESEARCHER

Siemens reported these vulnerabilities to CISA.

4. MITIGATIONS

Siemens recommends users update their SIMATIC MV500 series devices to the
following version or latest version of their software:

  o Update to V3.3.4 or later version

As a general security measure, Siemens recommends protecting network access to
devices with appropriate mechanisms. To operate the devices in a protected IT
environment, Siemens recommends configuring the environment according to
Siemens' operational guidelines for industrial security and following
recommendations in the product manuals.

Additional information on industrial security by Siemens can be found on the
Siemens industrial security webpage .

For further inquiries on security vulnerabilities in Siemens products and
solutions, please contact the Siemens ProductCERT .

For more information see the associated Siemens security advisory SSA-561322 in
HTML and CSAF .

CISA recommends users take defensive measures to minimize the risk of
exploitation of these vulnerabilities. CISA reminds organizations to perform
proper impact analysis and risk assessment prior to deploying defensive
measures.

CISA also provides a section for control systems security recommended practices
on the ICS webpage at cisa.gov/ics . Several CISA products detailing cyber
defense best practices are available for reading and download, including
Improving Industrial Control Systems Cybersecurity with Defense-in-Depth
Strategies .

Additional mitigation guidance and recommended practices are publicly available
on the ICS webpage at cisa.gov/ics in the technical information paper,
ICS-TIP-12-146-01B--Targeted Cyber Intrusion Detection and Mitigation
Strategies .

Organizations observing suspected malicious activity should follow established
internal procedures and report findings to CISA for tracking and correlation
against other incidents.

No known public exploits specifically target these vulnerabilities.

This product is provided subject to this Notification and this Privacy & Use 
policy.

- --------------------------END INCLUDED TEXT--------------------

You have received this e-mail bulletin as a result of your organisation's
registration with AusCERT. The mailing list you are subscribed to is
maintained within your organisation, so if you do not wish to continue
receiving these bulletins you should contact your local IT manager. If
you do not know who that is, please send an email to auscert@auscert.org.au
and we will forward your request to the appropriate person.

NOTE: Third Party Rights
This security bulletin is provided as a service to AusCERT's members.  As
AusCERT did not write the document quoted above, AusCERT has had no control
over its content. The decision to follow or act on information or advice
contained in this security bulletin is the responsibility of each user or
organisation, and should be considered in accordance with your organisation's
site policies and procedures. AusCERT takes no responsibility for consequences
which may arise from following or acting on information or advice contained in
this security bulletin.

NOTE: This is only the original release of the security bulletin.  It may
not be updated when updates to the original are made.  If downloading at
a later date, it is recommended that the bulletin is retrieved directly
from the author's website to ensure that the information is still current.

Contact information for the authors of the original document is included
in the Security Bulletin above.  If you have any questions or need further
information, please contact them directly.

Previous advisories and external security bulletins can be retrieved from:

        https://www.auscert.org.au/bulletins/

===========================================================================
Australian Computer Emergency Response Team
The University of Queensland
Brisbane
Qld 4072

Internet Email: auscert@auscert.org.au
Facsimile:      (07) 3365 7031
Telephone:      (07) 3365 4417 (International: +61 7 3365 4417)
                AusCERT personnel answer during Queensland business hours
                which are GMT+10:00 (AEST).
                On call after hours for member emergencies only.
===========================================================================
-----BEGIN PGP SIGNATURE-----
Comment: https://auscert.org.au/gpg-key/

iQIVAwUBZLCu68kNZI30y1K9AQiStxAAlGjdg4Zc7uAztAaxzkrza3nRzLVqky5V
1Fc5lsoh3TeKs5xcSYt7Jv0JwqBmHpK/gttJ32kDn3Q62rID5y0VUA/Y/V7OQx4c
Doy3IlS6UR+xNpWkZSfztubwqcdQJorh0XcbjqolS4Wa/dVI0ydwDbeJjo2z1S/m
X+YhRJ5KgFXmFGwbVaFy34J5LYTS2LwLHyicQG16ulpPolqAG+bTgIAOYLJVv8Eg
rSceXoV1o4H9ffd36TFRmjUwmsjG3honELzWmDRAA0lngbD7tFPaj6EBJ1ju2I0P
JTy6cU/cYrYtQtOxF4k0nxptlNz2Al637EbpmLynEgVvBZPWU/OgZsUKaH9T90Jr
RNvX8b6z1J2kMrTa8UMJk34g/lnfUEAfnFB2LrU+d4nKFB0r8ET6sqCJzH78Hnor
tzRjVIJTKLyGJxYyEGPm/FD1z4nTlrLSzOWWztGrNXMesoCQha882Ffo0jedQrXh
WH/9h31WQYhyK8U7Rw0QkqQ+s1yDpPEf1Fa94GymFoTVXjSVd6vTtg32HfPSeHfh
8zjH8zg4XV4/j8MBVVH0I8HKYfVtqzoLUL2wFW9xgtvw1kJM+qQpLjByxIUAeySP
Sf1XTPwN4aMLf7t4VNiML+JvC09/F7+9+S2glfgjrvLv3zctFxPH7eWv1PDfSfw4
/QryfE/FRQI=
=RcCH
-----END PGP SIGNATURE-----