Another vulnerability in the LPC55S69 ROM

The discovery of an undocumented hardware block in the LPC55S69.

Laura Abbott
6 min readbeginner
--
View Original

Overview

The article discusses a newly discovered vulnerability in the LPC55S69 ROM, specifically a buffer overflow issue in the In-System Programming (ISP) code that allows unauthorized code execution. It emphasizes the need for transparency in firmware security and critiques proprietary code practices by hardware manufacturers.

What You'll Learn

1

How to identify vulnerabilities in embedded system firmware

2

Why transparency in firmware is crucial for security

3

When to consider disabling ISP mode for security reasons

Key Questions Answered

What vulnerability was discovered in the LPC55S69 ROM?
A buffer overflow vulnerability was found in the In-System Programming (ISP) code of the LPC55S69, allowing attackers to gain non-persistent code execution with crafted updates, regardless of whether they are signed.
How does the SB2 update format work?
The SB2 update format consists of a header followed by commands that modify flash or start code execution. It ensures confidentiality and integrity through encryption and signing, but the vulnerability arises from improper bounds checking during parsing.
What are the potential impacts of the LPC55S69 vulnerability?
The vulnerability can lead to arbitrary code execution with ISP mode privileges, allowing modifications to flash contents. If the system is configured for secure boot, these modifications can be detected on subsequent boots.
What mitigation strategies are suggested for the LPC55S69 vulnerability?
Mitigation includes disabling ISP mode and avoiding flash recovery mode to prevent access to the vulnerable SB2 parser. Using signature verification on updates can also provide some confidence in update integrity.

Key Statistics & Figures

CVE assigned
CVE-2022-22819
This identifier was assigned to the vulnerability discovered in the LPC55S69 ROM.
Buffer size
128 bytes
The buffer overflow occurs when copying beyond the 128-byte limit of the global buffer.

Technologies & Tools

Microcontroller
Lpc55s69
Used as the Root of Trust implementation in Oxide's product.

Key Actionable Insights

1
Consider implementing a review process for firmware security that includes transparency and open-source practices.
This approach can help identify vulnerabilities early and foster trust with customers, as highlighted by Oxide's findings regarding proprietary code.
2
Evaluate the necessity of ISP mode in your product design and consider disabling it if security is a top priority.
Disabling ISP mode can prevent exploitation of vulnerabilities like the one found in the LPC55S69, but it requires alternative strategies for firmware updates.
3
Regularly review and test the security of embedded systems, especially those using proprietary ROM.
The discovery of multiple vulnerabilities in the same chip underscores the importance of ongoing security assessments in hardware development.

Common Pitfalls

1
Failing to implement proper bounds checking in firmware can lead to critical vulnerabilities.
This oversight allows attackers to exploit buffer overflows, as demonstrated in the LPC55S69 vulnerability.

Related Concepts

Firmware Security
Buffer Overflow Vulnerabilities
In-system Programming (isp) Mode
Root Of Trust Implementations