Security
Headlines
HeadlinesLatestCVEs

Headline

CVE-2020-6616: internalblue/rng.md at master · seemoo-lab/internalblue

Some Broadcom chips mishandle Bluetooth random-number generation because a low-entropy Pseudo Random Number Generator (PRNG) is used in situations where a Hardware Random Number Generator (HRNG) should have been used to prevent spoofing. This affects, for example, Samsung Galaxy S8, S8+, and Note8 devices with the BCM4361 chipset. The Samsung ID is SVE-2020-16882 (May 2020).

CVE
#mac#google#asus#samsung

HRNG and PRNG Details (CVE-2020-6616)

This is a joint work of @naehrdine, @matedealer, and @fxrh.

We collected at least 1GB of data from the following devices and all of them passed the Dieharder tests.

Chip

Device

Samples

Dieharder

BCM4335C0

Google Nexus 5

2.7GB

Passed

BCM43430A1

Raspberry Pi 3/Zero W

1.3GB

Passed

BCM4345B0

iPhone 6

1.8GB

Passed

BCM4355C0

iPhone 7

1.0GB

Passed

BCM4345C0

Raspberry Pi 3+/4

1.4GB

Passed

BCM4358A3

Samsung Galaxy S6, Nexus 6P

2.1GB

Passed

CYW20719B1

Evaluation board

1.4GB

Passed

CYW20735B1

Evaluation board

1.6GB

Passed

CYW20819A1

Evaluation board

1.2GB

Passed

The chip in the iMac Late 2009 is very slow and memory-limited, thus, we only checked if the HRNG is present. The same is the case for the Samsung Galaxy S10 and S20 chip, as it has a few more security features that make runtime analysis harder. On the iPhone 11, we currently only have BlueTool support, which also limits our analysis capabilities. We assume that the presence of a HRNG is sufficient, because all devices on that we were able to perform measurements had good results.

Chip

Device

HRNG present

BCM2046A2

iMac Late 2009

Yes

BCM20703A1

MacBook Pro early 2015

Yes

BCM4375B1

Samsung Galaxy S10/S20

Yes

BCM4347B1

iPhone 8/X/XR

Yes

BCM4378B1

iPhone 11

Yes

We found that the firmware of the Samsung Galaxy S8 does not even reference the HRNG. Also, we were not able to access the HRNG using known register locations. Each time we triggered a RNG-related action such as pairing, a breakpoint we set within the PRNG function was triggered. Since this issue was already visible inside the firmware without performing measurements on the hardware itself, we checked all firmware dumps we had. Overall, we identified five different implementation variants. Those that are not included in the lists above might still have HRNG issues, but it is way more unlikely. However, Broadcom and Cypress produced even more chips than listed here, and they might be missing a HRNG similar to the Samsung Galaxy S8.

Chip

Device

Build Date

RNG Variant

HRNG Location

PRNG

Cache

BCM2046A2

iMac Late 2009

2007

1

0xE9A00, 3 regs

Minimal (inline)

No

BCM2070B0

MacBook 2011

Jul 9 2008

1

0xE9A00, 3 regs

Minimal (inline)

No

BCM20702A1

Asus USB Dongle

Feb (?) 2010

1

0xEA204, 3 regs

Minimal (inline)

No

BCM4335C0

Google Nexus 5

Dec 11 2012

2

0x314004, 3 regs

Yes (inline)

No

BCM4345B0

iPhone 6

Jul 15 2013

2

0x314004, 3 regs

Yes (inline)

No

BCM20703A1

MacBook Pro early 2015

Dec 23 2013

2 (?)

0x314004, 3 regs

(?)

No

BCM43430A1

Raspberry Pi 3/Zero W

Jun 2 2014

2

0x352600, 3 regs

Yes (inline)

No

BCM4345C0

Raspberry Pi 3+/4

Aug 19 2014

2

0x314004, 3 regs

Yes (inline)

No

BCM4358A3

Samsung Galaxy S6, Nexus 6P

Oct 23 2014

2

0x314004, 3 regs

Yes (inline)

No

BCM4345C1

iPhone SE

Jan 27 2015

2

0x314004, 3 regs

Yes (inline)

No

BCM4364B0

MacBook/iMac 2017-with2019

Aug 21 2015

2

0x352600, 3 regs

Yes (inline)

No

BCM4355C0

iPhone 7

Sep 14 2015

2

0x352600, 3 regs

Yes (inline)

No

BCM20703A2

MacBook/iMac 2016-2017

Oct 22 2015

2

0x314004, 3 regs

Yes (inline)

No

CYW20719B1

Evaluation board

Jan 17 2017

2

0x352600, 3 regs

Yes (inline)

No

CYW20735B1

Evaluation board

Jan 18 2018

3

0x352600, 3 regs

Yes (rbg_get_psrng), 8 regs

Yes, breaks after 32 elements

CYW20819A1

Evaluation board

May 22 2018

3

0x352600, 3 regs

Yes (rbg_get_psrng), 5 regs

Yes, with minor fixes

BCM4347B0

Samsung Galaxy S8

Jun 3 2016

4

None

Only option

No

BCM4347B1

iPhone 8/X/XR

Oct 11 2016

5

0x352600, 4 regs

None

Asynchronous 32x cache

BCM4375B1

Samsung Galaxy S10/Note 10/S20

Apr 13 2018

5

0x352600, 4 regs

None

Asynchronous 32x cache

BCM4378B1

iPhone 11

Oct 25 2018

5

0x602600, 4 regs

None

Asynchronous 32x cache

CVE: Latest News

CVE-2023-50976: Transactions API Authorization by oleiman · Pull Request #14969 · redpanda-data/redpanda
CVE-2023-6905
CVE-2023-6903
CVE-2023-6904
CVE-2023-3907