Full Transcript

·YouTLDR

They're hacking USBs now

9:03679 summary words · ~3 min readEnglishBy Low LevelTranscribed Jul 11, 2026
Analyze another video with Pro30-day money-back guarantee
Summary

Vulnerabilities in the FAT FS file system library used in embedded devices like the Flipper Zero can be exploited via corrupted USB/SD cards to crash devices or enable jailbreaks.

These flaws allow physical access attacks on critical infrastructure and consumer devices that rarely receive security updates, creating persistent risks.

Section summaries

0:00-3:20

Intro and Vulnerability Overview

watch

The video opens with the host introducing low-level USB/SD card exploits using the Flipper Zero as an example. It explains that vulnerabilities in the FAT FS file system library—used in millions of embedded devices—allow attackers to crash or jailbreak devices by inserting corrupted storage media. The segment emphasizes the simplicity of the attack (mirroring classic 'drop a USB' tactics) and introduces RunZero's discovery of these flaws, including buffer overflows in functions like get volume label parsing.

  • FAT FS library vulnerabilities enable physical access attacks on embedded devices
  • Exploitation requires only inserting a corrupted USB/SD card
  • RunZero identified multiple critical flaws in the library

Sets the foundation for understanding the exploit mechanism and its implications

3:20-5:05

Sponsorship and Threat Intelligence Pitch

optional

The video transitions to a sponsorship segment for Flare, a threat intelligence platform that monitors dark web sources for compromised credentials. The host demonstrates how Flare integrates with systems like Entra ID to alert users when their credentials appear in threat feeds, reducing breach response time from hours to minutes. The segment ends with a call to action to try Flare's free offer before it expires.

  • Flare provides real-time dark web credential monitoring
  • Integration with Entra ID and other systems streamlines threat detection
  • Free trial offer expires in 3 days

Commercial content unrelated to the technical vulnerability explanation

5:05-6:40

Technical Deep Dive into FAT FS Flaws

watch

The host revisits the FAT FS vulnerability, focusing on the buffer overflow in the get volume label function. A code walkthrough shows how the library copies data into a fixed-size buffer without length checks, enabling attackers to overwrite memory and crash devices. The segment explains that the Flipper Zero uses this vulnerable library and demonstrates how inserting a corrupted SD card triggers a bus fault, returning control to address 0x41414141 (a common exploit marker).

  • Buffer overflow in get volume label function lacks bounds checking
  • Flipper Zero crashes when exposed to corrupted SD card data
  • Exploit overwrites program counter with 0x41414141

Critical for understanding the technical exploit mechanism

6:40-9:01

Exploit Demonstration and Conclusion

watch

The video concludes with a live demonstration of the exploit on the Flipper Zero, showing a bus fault caused by the buffer overflow. The host references HD Moore's proof-of-concept tools (Vol's 2026 FAT FS Chance) and speculates that AI may have contributed to discovering these vulnerabilities. The segment ends with a promotion for the host's AI-focused vulnerability video and a sign-off.

  • Exploit successfully crashes Flipper Zero via corrupted SD card
  • Proof-of-concept tools available for testing vulnerabilities
  • AI's potential role in identifying legacy code flaws

Demonstrates exploit success and ties technical content to broader AI trends

Key points

  • FAT FS Vulnerabilities in Embedded Systems — The FAT FS library (vulnerable versions used in STM32 microcontrollers) contains buffer overflows and integer errors in functions like get volume label parsing, exploitable via corrupted storage media.
  • Physical Access Exploits — Attackers need only insert a maliciously crafted USB/SD card into a vulnerable device to trigger the exploit, mimicking classic 'drop a USB' social engineering tactics.
  • RunZero's Discovery and Disclosure — HD Moore's company RunZero identified multiple vulnerabilities (integer overflows, stack overflows) in FAT FS implementations across embedded systems.
  • Lack of Mitigations in Embedded Devices — Many embedded systems lack modern protections like ASLR and NX, making exploitation trivial once vulnerabilities are triggered.
  • Flipper Zero as Case Study — The Flipper Zero's STM32W chip uses the vulnerable FAT FS library, and inserting a corrupted SD card can crash or jailbreak the device.
All you have to do is take a fat file system that is corrupted in a way that exploits the vulnerability and... plugging in the disk and having the OS or the system scan the FA file system is what exploits the bug. Video Host
There is no length check... this effectively is a strcpy that lands in label. Video Host

AI-generated from the transcript. May contain errors.

0:00

The bugs we're talking about today are

0:02

really fun for a couple reasons. One,

0:03

they're super lowle. It's the name of

0:05

the channel, by the way. And two, the

0:06

way you exploit them is kind of like

0:08

what you see in those spy movies,

0:15

right? Where you stick like a bad USB

0:16

stick or like a bad SD card into a thing

0:19

and it pops the device. And I actually

0:21

got it to work sort of on my Flipper

0:22

Zero. We'll go into that here in a

0:24

minute. What we're talking about is

0:25

unpatched flaws discovered in the file

0:28

system code bundled into millions of

0:31

embedded devices. So if you're not

0:33

really aware of how file systems work,

0:35

right, there are different kinds of file

0:37

systems like NTFS or FAT is another one.

0:39

XFAT in particular for this video. And

0:41

to actually interact with a file system,

0:44

you have to have some kind of code that

0:45

knows how to parse and read and present

0:47

the files in that file system. Now this

0:49

library in particular is called FAT FS.

0:51

It is a generic FAT file system module

0:54

and you'll notice by the very um web 1.0

0:57

look of this that it's very old. Okay,

0:59

this is an old file system

1:01

implementation of both FAT and XFAT for

1:04

very very low-level devices. Again, that

1:06

is the name of the channel. So, when I'm

1:08

talking about low-level, right, what do

1:09

I mean? I don't mean like a Linux

1:11

device. I don't mean like an IP camera

1:12

like this because this runs Linux and

1:14

Linux has their own implementation of

1:17

FAFS that is not this version. What I'm

1:19

talking about is like super low-level

1:21

stuff like this, like microcontrollers,

1:23

right? This is an STM32F7.

1:25

Uh this is vulnerable on a lot of the

1:27

STM lines. And the reason is kind of

1:29

interesting. So the way that you

1:31

actually trigger warning uh go and and

1:33

make uh code work on these STM devices

1:35

is you have to use this toolkit called

1:37

STM32 cube IDE. You don't have to, but

1:40

it makes the process of assigning pins

1:42

to different functionality and

1:44

generating code for the IP stack and the

1:46

file system a lot simpler. Okay, the way

1:49

that these uh idees work is they go and

1:52

they pull code that already exists off

1:54

the internet like the lightweight IP

1:55

stack for maybe a TCP IP stack for your

1:58

embedded device and they also point of

2:00

this video happen to use the FAT FS file

2:04

system here that is written by uh

2:06

elmchan.org.

2:08

I have literally no idea who this person

2:09

is. If you want to learn more about how

2:10

to implement this stuff, I have this

2:11

tutorial that I found. I'll put a link

2:12

in the description below, but basically

2:14

it shows like, hey, if you want to be

2:15

able to use an SD card on your SKM

2:16

application, you have to make it like

2:18

this. And you'll see that there's um FAT

2:20

FS middleware. It's kind of this blob

2:21

that's just ignored third party library

2:23

referring to FAT FS, right? In

2:26

particular, what this applies to is the

2:28

Flipper Zero. These bugs exist in this

2:30

device because the Flipper Zero at the

2:31

end of the day is just an STM32 W series

2:35

W for wireless, right, for the uh for

2:36

the 433 MHz and sub gigahertz antenna.

2:39

Um, and so this bug applies here too.

2:41

Now, I keep saying this bug. What are

2:42

the bugs? Now, the bugs were found and

2:44

disclosed by this company called

2:45

RunZero. Runzero, I think, recently

2:46

acquired by Accenture, but it's founded

2:49

by the person HD Moore. HD Moore, if

2:51

you're not aware, is the inventor, the

2:52

originator of Metas-ploit, right? Like

2:54

kind of the OG learn to hack, learn to

2:56

exploit platform. And so, they disclosed

2:58

a variety of vulnerabilities, a variety

3:01

of integer overflows, stack overflows.

3:04

We're going to go into this one here in

3:04

a minute. It's very funny. Uh, long file

3:07

name overflows, unsigned, subtraction,

3:09

etc. I'm not going to go into all these

3:10

bugs. There's a ton of them. But the

3:12

problem that HD Moore kind of highlights

3:14

here that runs zero highlights is one,

3:16

the reason why these bugs are so bad is

3:19

kind of what I highlighted in the

3:20

beginning of the video. All you have to

3:21

do is take a fat file system that is

3:24

corrupted in a way that exploits the

3:26

vulnerability and how this library

3:29

parses the data and plugging in the disk

3:32

and having the OS or the system scan the

3:35

FA file system is what exploits the bug.

3:37

That's it. This is literally like circa

3:40

2007 Windows XP bad hacker drops USB

3:44

stick at the stuckset factory, right?

3:45

Like like that kind of Like that

3:47

is the the way that this bug would be

3:48

exploited. And guys, it's no secret that

3:50

big bugs like this can lead to big

3:52

hacks. And that's why today's video is

3:54

sponsored by Flare. Flare is an identity

3:56

focused threat intelligence system that

3:57

allows you to see if your company's

3:58

credentials are being talked about on

4:00

the dark web. Flare is actively scooping

4:02

up threat intel from a variety of

4:03

sources like 22,000 Telegram channels

4:05

and hundreds of millions of stealer

4:07

logs. Now, with this data, you can put

4:09

in identifiers about your company

4:10

through either their identifiers

4:12

dashboard or easy integrations like

4:14

their Entra ID. I like this one in

4:15

particular because you're able to

4:16

integrate either Entra or Octa or just

4:18

basic custom web hooks. You can pull in

4:20

identifiers from your current systems.

4:21

And from there, what you get is alerts

4:23

when certain identities get compromised.

4:25

So, here I have an account that I did

4:26

kind of a little test run on and it sent

4:28

me an email automatically when these

4:29

credentials came up in their systems.

4:31

Then I can go and remediate that issue

4:33

as fast as possible. I think I've seen

4:34

the quote from Crowdstrike that once an

4:36

attacker gets in, it takes only 36

4:38

minutes for them to compromise their

4:39

credentials in that network and it takes

4:41

an organization, a big, you know,

4:42

bureaucracy upwards of 48 hours to

4:45

respond. If you get notified when these

4:46

kinds of things happen, you can

4:47

dramatically reduce that time. Also,

4:49

Flare has recently added threat flow. It

4:51

is a threat intel feed that is curated

4:53

based on the events that Flare is

4:54

picking up. The offer to try this for

4:56

free expires, I believe, in 3 days when

4:57

I'm recording this. So, if you want to

4:58

get in, try it now. Anyway, if you're

5:00

interested in staying ahead of hackers

5:02

in cyerspace, check out Flare. Thank you

5:04

for sponsoring the video, Flare. Let's

5:05

get back to it. And again, it has to be

5:06

a code base that uses this

5:08

implementation of of the FAT file

5:10

system. Uh but, you know, even then,

5:11

it's it's not unlikely that these still

5:13

exist in the uh IT, right? Like the um

5:17

the power plant world, the water

5:20

management world, right? And what's so

5:21

scary about this is these systems rarely

5:23

get updated. They're very hard to

5:25

update. So, if this code exists there

5:26

now, it's unlikely it won't exist there

5:28

in the future. So, what are the bugs?

5:30

What are we keep saying the bugs? What

5:31

are the bugs? Well, one of the bugs is

5:32

an overflow in the get volume label,

5:35

right? So, when you have a an SD card,

5:37

I'm going to try to show it to you real

5:38

quick if it can focus. You know, this

5:39

represents a a a file system and that

5:42

file system is basically it lives inside

5:44

of a a device and that device has a

5:46

volume label. It is the name of the

5:48

thing. And as I highlighted before,

5:49

there is a buffer overflow in the

5:52

parsing of the get volume label. So, the

5:55

the library exposes this get label

5:57

function. And you use this get label

5:59

function to get the label of the volume

6:00

you want to look at. Right? And so what

6:02

you'll see here is we have the uh the

6:04

device the drive number that tells you

6:06

like which device are we talking about

6:09

and then we have the label output. So

6:10

you you give it the path to a drive and

6:13

it will output the label to this tcar

6:15

pointer, right? Uh and what it does here

6:17

is we have this directory here and what

6:19

we do is we mount the volume. We read

6:22

the label into a structure locally and

6:25

then what we're going to do is we're

6:26

literally just going to do this very

6:28

long for loop where all we're doing is

6:31

loading a word from that directory and

6:34

then we're going to put it as UTF. So a

6:36

a 16 byt code uh UTF-16 encoding at the

6:40

address of the label offset by the

6:42

destination counter. That is the entire

6:44

loop. What you will notice here is there

6:46

is no length check. we are not checking

6:48

against some end value that determines

6:50

that we've hit the end of the label

6:52

buffer. So this effectively is a stir

6:54

copy that lands in label. So the user

6:58

the consumer of this API does not have

7:00

the ability to say hey by the way can we

7:03

stop at 64 bytes. And so unfortunately

7:06

uh you know lier zero the the device

7:09

here uses that file system when you plug

7:11

in an SD card into this device which

7:13

I'll show you here in a second um it

7:15

crashes the device and as uh run zero

7:17

says the problem here obviously is that

7:19

any physical access to this device or a

7:21

device where this is vulnerable leads to

7:23

a jailbreak. So a lot of the times these

7:24

very very very embedded devices because

7:26

of like the hardware limitations and the

7:28

software limitations don't have modern

7:30

mitigations like ASLR right which

7:32

randomize the location of binaries so

7:34

you don't know where to exploit or NX

7:36

where you can't execute certain pages

7:38

that are writable at the same time as

7:40

executable right these devices that not

7:42

only don't get updates very often don't

7:45

have basic protections okay so by this

7:48

bug existing uh it's very hard for this

7:50

to get mitigated by the industry by the

7:52

way HD or actually published some proofs

7:54

of concept if you want to test this

7:56

thing locally on your own device. It's

7:57

called Vol's 2026 FAT FS Chance. I'll

8:00

put that link in the description below.

8:01

Uh I'm pretty sure a lot of these bugs

8:02

were found by AI, by the way, just based

8:04

on the way that the uh the markdown

8:05

files are named.

8:17

[music]

8:26

Perfect. Yes. Now

8:40

time to trigger [music] the exploit.

8:44

So you see we we got a bus fault here

8:46

because the the exploit overwrote the

8:47

program counter and I returned to

8:50

ox41414141.

8:52

That's it. I made a video where I

8:54

describe how AI and kind of why AI is so

8:56

good at finding bugs and you can find

8:58

that video right here. Go check it out

8:59

and we'll see you in the next one. Bye

9:01

guys.

Continue with YouTLDR

Analyze another video with Pro

Process a new video, search every timestamp, compare sources, and keep the result in your library.

Get Pro — $12/month30-day money-back guarantee

More transcripts

Explore other videos transcribed with YouTLDR.