[<prev] [next>] [day] [month] [year] [list]
Message-ID: <CADbNDXFg0hb74kmkmr4Lk77znyBUfvM1PWyiWLhrQH=5eMk+5Q@mail.gmail.com>
Date: Mon, 24 Apr 2023 10:42:35 +0200
From: Security Explorations <contact@...urity-explorations.com>
To: fulldisclosure@...lists.org
Subject: [FD] Security vulnerabilities in Telit Cinterion IoT (formerly
Thales) devices
Hello,
In 2020, a vulnerability (CVE-2020-15858) in multiple Cinterion IoT
devices was discovered by Adam Laurie and Grzegorz Wypych of IBM
X-Force Red [1].
The issue was described as allowing for organizational secrets theft
and Java application code access. The use of Java VM / apps by
wireless (connected) devices triggered my attention in particular.
Historically, Java flaws could be successfully exploited for a more
in-depth investigation of many interesting targets (mobile phones,
smart cards, set-top-boxes, cloud environments, databases, etc.). I
had a feeling this could be the case for Cinterion IoT as well.
I am releasing the details of my initial investigation of Telit
Cinterion IoT devices (till the end of 2022 owned by Thales). Brief
technical details in a form of a README.md file can be downloaded from
this location (bottom of the page):
https://security-explorations.com/cinterion-devices.html
I would like to emphasize the word initial as there has been many
areas that haven't been investigated at all. These include, but are
not limited to 3g/4g protocol stacks, USB stack, SIM directed
messages, the SLAE cloud management endpoint / API, LWM2M, etc.
Yet, numerous issues could be found in a tested Cinterion device such
as path traversal issues, Java privilege elevation, AT commands
whitelist / blacklist bypasses, brute force space decrease for a
remote AT command interface enabling, remote OMA DM management
interface auth bypass and finally a heap overflow in fragmented SMS
messages processing.
The end result is a complete device compromise (code exec at ARM
Supervisor level) along a potential (due to the test done in a lab,
not in "the wild" / mobile network operator environment) for a remote
code execution access. Only phone number of a target device would need
to be known (the exploitation is triggered and proceeds with the use
of SMS messages among others) for a remote attack.
My test were primarily targeting DGL61-W device. Complete local
compromise has been also verified for ELS61-E module (firmware
indicates same remote issues could be present in it as well). Default
device configuration was used in both cases.
Through the research numerous tools have been developed. This include
standalone toolkit with several helper utilities (Android SMS sender
and ASJMLED exploit, JAD / JAR file generator, vendor midlet
instrumentation tool, exploit server for a remote vulnerability
triggering) making it possible to exploit vulnerabilities in DGL-61W
and PLS61-E devices, access device file system, perform runtime code
hooking / tracing, manage Java applications and extract low level OS
information from the device (AT and URC command tables, Java classes
dump and disassembly, device threads, device handles, product test
commands, config command handlers, MBIM, etc.).
Without this custom tool chain, successful reversing, bug discovery
and exploit development would not be possible.
Telit company has been notified and provided with full access to
research material for evaluation purposes (communication from Jan 11,
2023, all key vulnerabilities were reported to the company in Jan
2023).
On Apr 17, 2023, the company provided the results of its triage
regarding the reported issues.
Telit informed that the base device for which all of the issues got
reported (DGL61-W) is at the end of its lifecycle and EOL was
announced to customers.
The company also indicated that IMEI number leak is an intentional
feature and part of the OMA DM protocol and that it doesn't consider
it a vulnerability on its own.
Issues related to privileges granted by default to Java applications
and facilitating hijack of system AT commands were not considered
vulnerabilities on their own (described as intentional features and by
design rely on customer properly configuring the security of the
embedded processing capability). This evaluation is questionable as
system commands hijacking by 3rd party code undermines trust to the
operating system environment, such a hijacking may also lead to the
development of a stealth / persistent backdoor (i.e. AT^SFSA command
may return false information about the state of a file system).
The remaining issues (which include remote ones) were evaluated with a
final risk as not critical - the company made its evaluation upon the
use cases and configurations of its major customers.
Telit informed that the company rolled out a vulnerability fix for the
most critical issues and that a new version of ATSJMLED midlet has
been already released. The build date of the files, indicates Jan 18,
2023 (a fix without prior notification / coordination). There has been
no information on the web page where the fixed app version has been
made available about the security nature of the new release (a silent
fix).
The only information received from Telit regarding fixes took place on
Feb 27, 2023. The company informed that "a fix is planned" for some of
the issues (these were not described) and it would keep me updated. No
update was provided by Telit prior to the rollout of the fixes though
(I learned about the fixes from Apr 17, 2023 "triage" message).
Beside learning about a fix without priot notification / coordination,
I found Telit response problematic in several other aspects too.
First, Telit refered only to DGL61-W device in its "triage". This
implicated no other devices were affected.
Back in 2020, Thales claimed [2] that at least 5 different Cinterion
products were affected to vulnerability found by IBM X-Force Red,
which was similar to the one reported to Telit (the vulnerability from
2020 exploited "." character in the path, those from 2023 exploit a
combination of "*" and "%" characters, this implicates not a thorough
code check by Thales when dealing with CVE-2020-15858).
On Mar 16 2023 Telit informed that other devices are also affected ("I
can confirm that other Java platforms are affected as well. The R&D
team is also verifying this aspect" lines received from the company).
Yet, Telit did not refer to these devices / did not provide impact
information with respect to them as a result of its triage (an
indirect implication these devices are not vulnerable, which was
questionable taking into account the above).
I have successfully verified that ELS61-E was affected to some of the
issues. Telit was also provided with a PoC working on ELS61-E. The
company was notified of the potential of other devices being affected
as well in that context.
This should not be my job though to check every Cinterion device
against each reported issue. Telit is a product owner. The company has
access to all source codes, documentation, debug interfaces, hidden
APIs, tools, dev boards, firmware builds and devices that are required
to conduct a proper vulnerability analysis.
I pointed out to Telit that their vulnerability triage information is
missing information about impact with respect to other devices.
As a result, on Apr 20, 2023 Telit completed information about
impacted devices and their SW versions and admitted that the issues
affect many of them. These are listed below:
Vulnerabilities impacting only DGL61-W with pre-installed ATSJMLED Java MIDlet:
ATSJMLED MIDlet - all versions lower than 0.1.59
Vulnerabilities impacting products with OMA DM client:
ELS61-US/-USA: all FW versions
PLS62-W: all FW versions
ELS81-US: all FW versions
Vulnerabilities common for the platform baseline:
BGS5: all product variants and FW versions
EHS5/6/8: all product variants and FW versions
PDS5/6/8: all product variants and FW versions
ELS61/81: all product variants and FW versions
PLS62: all product variants and FW versions
As for the non-critical nature of the issues (remote ones), IBM
X-Force, implicated that "given a critical nature of many of these
[Cinterion] devices, a targeted cyberattack could be significant".
Medical devices along energy and utilities were provided as an
example.
In some way this is contradicting Telit evaluation of the potential
remote attack against their devices as "not critical". It's
contradicting security goal of these products too [3]:
"Strong gateway cybersecurity is critical to IoT ecosystem trust".
"Thales IoT Gateways are the only industrial IoT gateways to safeguard
the complete data-to-cloud journey for the device's lifetime"
As the company signalled trouble to execute the PoC two months
following the reporting, I fear Telit might be lacking proper
competences / engineering resources when it comes to evaluation of
security issues (PoC execution problem could be solved by using the
precompiled binaries delivered to the company as part of the initial
research package from Jan 2023).
Finally, there is also one more issue that is still not clear and is
worth mentioning. It is related to a missing bug origin information.
Both, DGL61-W and ELS61-E devices rely on Intel modem chipset
(XMM7160). They embed Intel specific code for OMA DM client too. It is
not clear though if remote issues such as OMA DM auth bypass have its
origin in Intel code or were introduced by the previous Cinterion
vendor (Thales). In that context it is not clear if Intel should be
forwarded and handle OMA DM vulnerability information.
Similarly, it is not clear if Java path issues (likely having its
origin in J2ME classes and file protocol handler) have its origin in
Oracle code for embedded J2ME or vendor specific customizations.
When inquiried about the abovementioned vulnerabilities origin
(whether in Intel / Oracle code), Telit informed me that the company
cannot comment on code provided by its platform supplier as it is
covered by NDA.
According to Telit PSIRT pages [4], PSIRT reserves the right to
forward details of issues reported to it if they affect third-party
components or external projects. Throughout this process, Telit PSIRT
will continue to coordinate and communicate with researchers.
No communication regarding forwarding of any issues to any 3rd party
company took place. It is not clear if any forwarding took place. Any
vulnerability forwarding shouldn't take place without original
researcher's (bug discoverer's) consent / approval as:
- the original bug discoverer should hold the right to decide about
who its bug is shared with (other 3rd parties should learn about it
either from a bug finder or a public security bulletin of a vendor)
- the original bug discoverer might be eligible for a credit in a
public security bulletin of a 3rd party company
- the original bug discoverer might be eligible for a Bug Bounty
reward (such as Intel Bug Bounty Program [5])
Finally, let me say that as a result of experiencing significant
disrespect / problems with various vendors (Microsoft, Canal+ [6],
Telit) over the process of reporting the issues to these companies, a
new Disclosure Policy gets introduced at my end:
https://security-explorations.com/research.html
Now, the default is not to inform vendors about security findings
anymore and to disclose the results of research to the public without
prior notification.
Thank you.
Best Regards,
Adam Gowdiak
-------------------------------------
Security Explorations - AGSecRec Lab
https://security-explorations.com
-------------------------------------
References:
[1] New Vulnerability Could Put IoT Devices at Risk
https://securityintelligence.com/posts/new-vulnerability-could-put-iot-devices-at-risk/
[2] Security Updates for Cinterion IoT Modules (archived page)
https://web.archive.org/web/20201220171411/https://www.thalesgroup.com/en/markets/digital-identity-and-security/iot/resources/security-updates-cinterion-iot-modules
[3] Bridge the Gap with IoT Gateways
https://www.thalesgroup.com/en/markets/digital-identity-and-security/iot/inspired/iot-gateway
[4] Telit Product Security Incident Response Team (PSIRT)
https://www.telit.com/about/psirt/
[5] Intel Bug Bounty Program
https://www.intel.com/content/www/us/en/security/security-practices/vulnerability-management/bug-bounty-program.html
[6] Microsoft PlayReady security research
https://security-explorations.com/microsoft-playready.html
_______________________________________________
Sent through the Full Disclosure mailing list
https://nmap.org/mailman/listinfo/fulldisclosure
Web Archives & RSS: https://seclists.org/fulldisclosure/
Powered by blists - more mailing lists