Shadowing Practice: Firefox and Tor hit with 9.8 critical level exploit - Learn English Speaking with Video

Creating lesson...
1
Last week, we talked about a major exploit discovered in the Chromium-based Arc browser, and all the smart people in the comments were like, thank god I use Firefox.
2
Unfortunately, the turns have tabled, and now another 9.8 critical vulnerability has crashed into a second browser, this time Firefox.
3
And this time, it's been actively exploited in the wild.
4
Now, before you go in the comments and say, thank god I use Tor, it even affects everybody out there doing totally not illegal stuff on the Tor browser, which itself is Firefox-based.
5
This time, though, it wasn't a silly mistake involving a misconfigured Firebase security rule, but rather a used-after-free flaw on their implementation of the CSS animation timeline property.
6
They left a pointer dangling, which is far more difficult to detect and audit, and in this case could be used by bad guys to take full control of your browser with remote code execution.
7
If you're running one of these Firefox versions, you're probably already dead, but if not, you'll want to update immediately.
8
In today's video, you'll learn all about the interesting and terrifying world of use-after-free exploits.
9
It is October 15th, 2024, and you're watching the Code Report.
10
Before we get started, though, I have some other bad news for internet browser users, specifically those on Chrome using uBlock Origin, or any other ad blocker for that matter.
11
We all knew this day was coming, but shots were fired yesterday when this ominous message appeared on the plugin's install page, warning users that uBlock's execution date is drawing near.
12
Now, this is all part of a grand conspiracy to get you to watch ads and be happy, and Google is achieving that by updating the manifest for plugins from version 2 to version 3,
13
which eliminates the web request API where plugins can see all the incoming network requests
14
so they can block all the garbage from known ad servers.
15
I made a video on this a while ago if you want all the details, but now let's get back to Firefox.
16
Slovakian company ESET has been credited with discovering and reporting the vulnerability.
17
Where an attacker is able to achieve code execution by exploiting a use after free flaw in the CSS animation timeline.
18
I use the animation timeline all the time to create scroll animations on websites that nobody asked for, and never would have expected it to be an attack vector.
19
But to understand why this is so bad, we need to understand what use after free actually means.
20
Exploits like this have affected all the other browsers, including Chrome and Safari, and useAfterFree was even responsible for the iOS jailbreak of 2019.
21
The Firefox browser is free and open source, but you won't find it on GitHub.
22
Its code is actually self-hosted and uses Mercurial for version control.
23
It's primarily written in C++, although more and more of its code is now being written in Rust, a language that was created by a software engineer at Mozilla.
24
Firefox itself contains over 30 million lines of code, because building a browser is extremely complex.
25
At a high level, here's how a use-after-free flaw could be introduced.
26
In the C code, let's imagine we need to allocate some memory for a value.
27
To achieve that, we create a pointer and then use malloc to allocate memory for it.
28
From there we can assign a value to it and use it in our program to do something useful, like in the case of Firefox, render an animation.
29
At some later point, when we no longer need that memory, we'll want to deallocate it with free.
30
But now we have a problem called a dangling pointer.
31
The memory is free, but the pointer itself still exists and is now being used in our code with undefined behavior.
32
If an attacker can figure out how to get some malicious code into that memory, it can cause the program to crash, or even worse, remote code execution.
33
Now, this could be easily fixed by setting the pointer to null or a different object, but in the case of Firefox, the issue is likely a lot more complex and above my pay grade.
34
It's still being analyzed, so there's not a ton of detail, but Mozilla stated that they have had reports of the vulnerability being exploited in the wild.
35
The good news, though, is that it's completely fixed, and it doesn't appear anything catastrophic has happened.
36
In addition, if you're using the anonymous Tor browser, an attacker could take control of your browser, but probably not totally de-anonymize you, assuming you're on Tails OS,
37
which recently merged with the Tor browser as one project.
38
Now, another browser that was affected by all this is Zen, which is an awesome open source project based on Firefox.
39
They quickly update it to the fixed version, but it just goes to show how one little flaw can affect a lot of downstream projects.
40
But if your goal is to write robust, bulletproof code, you'll need to start with computer science fundamentals.
41
And you can start doing that today for free thanks to this video's sponsor, Brilliant.
42
Their quick, rewarding, interactive lessons will help you build a foundation for problem solving that every software engineer needs to have.
43
Brilliant is where you learn by doing, with thousands of interactive lessons in math, data analysis, programming, and AI.
44
When you make their Python course a habit with just a few minutes of effort each day, you'll quickly develop the skills needed to build world-changing software.
45
And you can do it anywhere, even from your phone.
46
To try everything Brilliant has to offer for free for 30 days, visit brilliant.org slash fireship or scan this QR code for 20% off their premium annual subscription.
47
This has been the Code Report, thanks for watching, and I will see you in the next one.

Vocabulary and speaking notes for this lesson

This B2 speaking lesson is built on the video “Firefox and Tor hit with 9.8 critical level exploit”. The speaker keeps coming back to these words: code, browser, Firefox, pointer, animation. This video has 47 sentences and 991 words to shadow. The speech runs for 4:27. The speaker talks fast, about 223 words per minute, so expect linked and reduced sounds. Only 80% of the words are among the 3,000 most common in English, so the vocabulary is demanding.

Key vocabulary in this video

The 15 most advanced words in the video, with pronunciation and meaning:

WordPronunciationMeaning
browser noun/ˈbɹaʊ.zəɹ/One who or which browses.
exploit noun/ˈɛksplɔɪt/A heroic or extraordinary deed.
pointer noun/ˈpɔɪn.təɹ/One who points.
animation noun/ˌæn.ɪˈmeɪ.ʃən/The act of animating, or giving life or spirit.
flaw noun/flɔ/A crack or breach, a gap or fissure; a defect of continuity or cohesion.
attacker noun/əˈtækɚ/Someone who attacks.
vulnerability noun/ˌvʌln(ə)ɹəˈbɪlɪti/The state of being vulnerable; susceptibility to attack or injury, either physical or emotional; the state or condition of being weak or poorly defended.
timeline noun/ˈtaɪmˌlaɪn/A graphical representation of a chronological sequence of events (past or future).
allocate verb/ˈæl.ə.keɪt/To set aside for a purpose.
dangle verb/ˈdæŋ.ɡəl/To hang loosely with the ability to swing.
interactive adjective/ˌɪn.tɚˈæk.tɪv/Interacting with or communicating with and reacting to each other; influencing or having an effect on each other; acting or capable of acting on each other or…
anonymize verbTo make or render anonymous (especially to remove personally identifying data).
blocker noun/ˈblɑkɚ/One who blocks or impedes the movement of an opponent.
bulletproof adjective/ˈbʊlɪtpɹuf/Capable of withstanding a direct shot by a bullet fired from a gun.
deallocate verb/diːˈæləkeɪt/To remove from the set of resources put aside for (allocated to) a particular user or purpose.

Phrasal verbs you will hear

WordMeaning
figure out verbTo come to understand; to discover or find a solution; to deduce.
get back to verbReturn to (an activity)

Grammar in this video

The structures the speaker uses most, with the exact words from the video:

StructureIn the video
Passive voice be + past participle — the focus is on what happens, not who does itwere fired · has been credited · being written
Present perfect have/has + past participle — a past action that still matters nowhave tabled · has been credited · have affected
Relative clauses who / which + clause — extra information about a person or thingdangling, which is · Zen, which is

Pronunciation to watch

The speaker uses 13 contractions and reduced forms, such as you're, you'll, doesn't. Say them the short way, as you hear them.

  • The “sh” and “zh” sounds: animation /ˌæn.ɪˈmeɪ.ʃən/, malicious /məˈlɪʃəs/, subscription /səbˈskɹɪpʃən/
  • Long words — get the stress right: animation /ˌæn.ɪˈmeɪ.ʃən/, vulnerability /ˌvʌln(ə)ɹəˈbɪlɪti/, interactive /ˌɪn.tɚˈæk.tɪv/, deallocate /diːˈæləkeɪt/, catastrophic /ˌkætəˈstɹɑfɪk/

How to practise with this video

  1. Listen to the whole video once without speaking and note the words you do not know.
  2. Start at 0.75× speed, shadow it sentence by sentence, then go back to normal speed once it feels easy.
  3. Record yourself and compare with the original, paying attention to words like browser, exploit, pointer.

What is the Shadowing Technique?

Shadowing is a science-backed language learning technique originally developed for professional interpreter training and popularized by polyglot Dr. Alexander Arguelles. The method is simple but powerful: you listen to native English audio and immediately repeat it out loud — like a shadow following the speaker with just a 1–2 second delay. Unlike passive listening or grammar drills, shadowing forces your brain and mouth muscles to simultaneously process and reproduce real speech patterns. Research shows it significantly improves pronunciation accuracy, intonation, rhythm, connected speech, listening comprehension, and speaking fluency — making it one of the most effective methods for IELTS Speaking preparation and real-world English communication.

Shadowing technique: read the full step-by-step guide →