How’d They Let This Happen?

00:18:05
https://www.youtube.com/watch?v=xC8qfXxAhAw

概要

TLDRThe video explores a critical remote code execution (RCE) vulnerability in ASUS's DriverHub software, which can install applications without user consent. The narrator shares their experience with ASUS motherboards and their concerns about the software's behavior. They demonstrate how the software communicates with a website and the security risks involved, including the ability to execute arbitrary code through a poorly secured RPC mechanism. After discovering the vulnerability, the narrator reports it to ASUS, which responds promptly and confirms a fix. The video highlights the importance of security in software design and the potential risks associated with such vulnerabilities.

収穫

  • 🔍 The video discusses a serious RCE vulnerability in ASUS's DriverHub software.
  • 💻 The narrator shares their personal experience with ASUS motherboards.
  • ⚠️ DriverHub can install applications without user consent, raising security concerns.
  • 🔗 The software communicates with a website, posing potential risks.
  • 🛠️ The narrator discovered the vulnerability through analysis of the software's behavior.
  • 🚨 The vulnerability allows attackers to execute arbitrary code on affected systems.
  • 📅 ASUS responded to the reported vulnerability within nine days.
  • 🏆 ASUS does not have a bug bounty program but acknowledged the narrator in their hall of fame.
  • 🔒 The reliance on a weak origin header check for authentication is a major flaw.
  • 📈 The video emphasizes the importance of security in software design.

タイムライン

  • 00:00:00 - 00:05:00

    The video discusses a remote code execution (RCE) vulnerability found in ASUS's pre-installed driver software, DriverHub. The speaker shares their personal experience with ASUS motherboards, expressing concern over the BIOS's ability to install software without user consent. They highlight the potential security risks associated with this feature and introduce the topic of the video, which revolves around the discovery of a vulnerability in the DriverHub software.

  • 00:05:00 - 00:10:00

    The speaker investigates how DriverHub communicates with a website to manage driver installations. They discover that the software uses an RPC mechanism that could be exploited if not properly secured. After testing the RPC requests, they find that the software only responds to requests from a specific origin, but this check is not robust enough to prevent exploitation. The speaker expresses concern over the design of the software and the implications of the vulnerability they have uncovered.

  • 00:10:00 - 00:18:05

    The investigation leads to the discovery of a serious flaw in the DriverHub software that allows for arbitrary code execution. The speaker details their process of exploring the software's code and identifying callable endpoints, including one that could execute any executable signed by ASUS. They demonstrate how an attacker could exploit this vulnerability to run malicious code on a victim's system, ultimately leading to a successful RCE. The video concludes with a discussion of the timeline for reporting the vulnerability to ASUS and the company's response, including the issuance of CVEs.

マインドマップ

ビデオQ&A

  • What is the main issue discussed in the video?

    The video discusses a remote code execution (RCE) vulnerability in ASUS's DriverHub software.

  • How did the narrator discover the vulnerability?

    The narrator discovered the vulnerability by analyzing the DriverHub software and its communication with a website.

  • What are the potential risks of the vulnerability?

    The vulnerability could allow attackers to install malicious applications on affected systems.

  • How did ASUS respond to the reported vulnerability?

    ASUS acknowledged the vulnerability and confirmed a fix within nine days.

  • What is DriverHub?

    DriverHub is ASUS's driver management software that can automatically install drivers on a system.

  • What security measures were lacking in DriverHub?

    DriverHub relied on a weak origin header check for authentication, which could be easily bypassed.

  • What is the significance of the RCE vulnerability?

    The RCE vulnerability allows unauthorized code execution, posing a serious security risk to users.

  • Did ASUS offer a bug bounty for the vulnerability?

    No, ASUS does not have a bug bounty program but acknowledged the narrator in their hall of fame.

  • What was the timeline for reporting the vulnerability?

    The narrator reported the vulnerability on April 7, received an automated response on April 9, and confirmed the fix shortly after.

  • What is the narrator's opinion on ASUS's software security?

    The narrator expresses concern about ASUS's software security practices, particularly regarding the RPC mechanism.

ビデオをもっと見る

AIを活用したYouTubeの無料動画要約に即アクセス!
字幕
en
オートスクロール:
  • 00:00:00
    one-click rce in ASUS's pre-installed
  • 00:00:03
    driver software. I saw this article. I
  • 00:00:05
    had to read it. Uh primarily because two
  • 00:00:07
    things. One, my motherboard fried a long
  • 00:00:09
    time ago and it was ASUS and I'm still
  • 00:00:10
    mad about it. But also two, I once again
  • 00:00:12
    went out and bought another ASUS
  • 00:00:14
    motherboard. So, I would like to know if
  • 00:00:16
    there is a remote code execution
  • 00:00:18
    vulnerability in the current setup that
  • 00:00:20
    I have in my studio. Let's dive right
  • 00:00:22
    in. Introduction. The story begins the
  • 00:00:24
    conversation about PC parts, about new
  • 00:00:26
    PC parts. I hope you're not getting it
  • 00:00:28
    for the Wi-Fi. Not particularly. I'll be
  • 00:00:29
    using the Wi-Fi though if needed. I
  • 00:00:31
    don't know a lot about MOOs. After
  • 00:00:33
    ignoring the advice from my friend, I
  • 00:00:35
    bought a new ASUS motherboard for my PC.
  • 00:00:37
    I was a little concerned about having a
  • 00:00:38
    BIOS that would try to silently install
  • 00:00:40
    software into my OS in the back. Yeah,
  • 00:00:43
    that Yeah, but it could be turned off.
  • 00:00:45
    So, I figured I would just do that.
  • 00:00:47
    Yeah. So, this is one of those things
  • 00:00:49
    that I'm really not super into, but like
  • 00:00:52
    there are a lot of new motherboards that
  • 00:00:54
    come out that allow the user to just
  • 00:00:57
    have stuff put on the on the computer
  • 00:00:59
    like without you asking. And like what
  • 00:01:01
    it's just it's weird because like
  • 00:01:03
    obviously the BIOS is a lower ring than
  • 00:01:06
    your OS. So, like it's allowed to do
  • 00:01:08
    that. But the fact that it does do this
  • 00:01:10
    and like in your BIOS you can just like
  • 00:01:12
    turn it on like install applications for
  • 00:01:14
    me when I'm not looking is like super
  • 00:01:15
    weird. Now guys, I can assure you the
  • 00:01:17
    story today is pretty good. But an even
  • 00:01:19
    cooler story is the one from the sponsor
  • 00:01:21
    of today's video. It's me. Guys, I
  • 00:01:24
    honestly believe that if you're a
  • 00:01:25
    programmer trying to write fast,
  • 00:01:27
    effective code or you're a cyber
  • 00:01:28
    security professional trying to stop
  • 00:01:30
    your stuff from getting attacked, all of
  • 00:01:31
    these require you to know the basic
  • 00:01:33
    fundamentals of computers. My courses on
  • 00:01:36
    the level academy teach you languages
  • 00:01:37
    like C, networking in C, threading in C,
  • 00:01:40
    assembly, and even a new installment,
  • 00:01:42
    Rust, to learn the basics of how
  • 00:01:44
    computers work. And zero to her C
  • 00:01:46
    programming will teach you the basics of
  • 00:01:47
    the C programming language, the language
  • 00:01:49
    that runs all other languages. And you
  • 00:01:51
    can even learn arrays in C right now for
  • 00:01:53
    free. Go check that lesson out. If you
  • 00:01:54
    want to learn assembly, my ARM load
  • 00:01:56
    operations lesson is also free. And I
  • 00:01:59
    also have a free 3-day Course that you
  • 00:02:02
    can check out right here on the landing
  • 00:02:03
    page. Guys, if you want to be a good
  • 00:02:05
    programmer, you got to know the
  • 00:02:06
    fundamentals. And where do you learn the
  • 00:02:08
    fundamentals? On Lowle Academy. All
  • 00:02:09
    right, guys. Back to the video. See you
  • 00:02:10
    there. Immediately after logging on to
  • 00:02:12
    Windows, I was hit with a notific I'm
  • 00:02:14
    actually curious. How does this even
  • 00:02:15
    work? Like how how does it hook the OS
  • 00:02:17
    on the way up to like do this? Like
  • 00:02:19
    where does that process happen? That's
  • 00:02:20
    very interesting. Immediately after
  • 00:02:22
    logging into Windows, I was hit with a
  • 00:02:24
    notification requesting admin
  • 00:02:25
    permissions to complete the installation
  • 00:02:27
    of ASUS driverhub. Because I forgot to
  • 00:02:29
    change the BIOS option. Oh yikes. So he
  • 00:02:32
    didn't even turn this off. It just
  • 00:02:33
    happened automatically. Since I needed
  • 00:02:34
    to get a Wi-Fi driver for the
  • 00:02:36
    motherboard anyway, I got curious and
  • 00:02:38
    installed it. Uh would you like to
  • 00:02:40
    install the Armory Crate and LAN driver?
  • 00:02:42
    Uh funny story actually. I have this
  • 00:02:44
    installed right now. I'm probably going
  • 00:02:45
    to go disable this real quick. BRB. I
  • 00:02:48
    don't have a screenshot of Driver Hub,
  • 00:02:50
    but it showed up like a popup exactly
  • 00:02:52
    like this in the bottom right hand of my
  • 00:02:53
    screen. Dude, this reminds me of like
  • 00:02:55
    when you were a kid if you would if you
  • 00:02:57
    deleted something or like like Empire
  • 00:02:59
    Earth wouldn't run. It said like you
  • 00:03:01
    can't find DirectX329.
  • 00:03:04
    DLL. So, you would go and Google like uh
  • 00:03:06
    DirectX329.
  • 00:03:08
    DL download and you would get some
  • 00:03:10
    sketchy like, "Oh, go to dlfiles.com and
  • 00:03:14
    install our DL installer." Like that
  • 00:03:16
    kind of It looks It looks exactly
  • 00:03:18
    like that. It It looks like one of those
  • 00:03:21
    sketchy freaking websites. That's crazy.
  • 00:03:23
    Okay, DriverHub is an interesting piece
  • 00:03:25
    of driver software because it doesn't
  • 00:03:27
    have any guey. Instead, it's just a
  • 00:03:29
    background process that communicates
  • 00:03:30
    with the website driverhub.asis.com
  • 00:03:33
    and tells you what drivers to install
  • 00:03:35
    for your system and which ones need
  • 00:03:37
    updating. Naturally, I wanted to know
  • 00:03:39
    more about how this website knew what
  • 00:03:40
    drivers my system needed and how I was
  • 00:03:42
    installing them. So, I cracked open the
  • 00:03:44
    Firefox network tab. And as expected,
  • 00:03:46
    the website uses RPC to talk to the
  • 00:03:48
    background process running on my system.
  • 00:03:50
    This is where the background process
  • 00:03:52
    hosts an HTTP or websocket service
  • 00:03:54
    locally, which a website or service can
  • 00:03:57
    connect to by sending an API request to
  • 00:04:00
    127001
  • 00:04:02
    53,000. Yo. Okay. So immediately
  • 00:04:06
    immediately. Yeah, this guy my hacker
  • 00:04:08
    senses are tingling. Mine mine are
  • 00:04:09
    tingling too. Like if you just have an
  • 00:04:12
    RPC Damon that the web browser can
  • 00:04:15
    access that screams vulnerabilities to
  • 00:04:18
    me. Now ideally they're doing some kind
  • 00:04:20
    of sanitization and like SSL TLS
  • 00:04:23
    certificate pinning so that like not
  • 00:04:24
    anybody can talk to that Damon. But
  • 00:04:27
    immediately this is not smelling good to
  • 00:04:29
    me. All right. This is a very sketchy
  • 00:04:32
    way to design driver management
  • 00:04:33
    software. Yeah, it is. As what the hell
  • 00:04:35
    are you doing? If the RPC isn't properly
  • 00:04:37
    secured, it can be weaponized by an
  • 00:04:38
    attacker to install malicious
  • 00:04:40
    applications. Yeah. So, again, like he
  • 00:04:42
    he and I are on the same page here. This
  • 00:04:43
    is crazy. Finding the
  • 00:04:45
    vulnerability. Okay, so there there was
  • 00:04:47
    a bug. Oh god. I mean, obviously he
  • 00:04:49
    wrote an article, so like you wouldn't
  • 00:04:50
    just write it about nothing, but still.
  • 00:04:51
    The next step was to see if I could call
  • 00:04:53
    the RPC from any website. This was
  • 00:04:55
    replicated by copying the request from
  • 00:04:57
    my browser as a curl command and pasting
  • 00:04:59
    it into my terminal. After fiddling with
  • 00:05:00
    variations of the command for a while,
  • 00:05:02
    my assumptions were confirmed. DriverHub
  • 00:05:04
    only responded to requests with the
  • 00:05:06
    origin header set to driverhub.asis.com.
  • 00:05:09
    So, at least website wasn't completely
  • 00:05:10
    busted and evil, hackers can't just send
  • 00:05:12
    requests to driverhub willy-nilly. I
  • 00:05:14
    mean, sure, but like an origin check
  • 00:05:15
    isn't super good either because like if
  • 00:05:17
    there's not any certificate pinning on
  • 00:05:19
    this, anybody could set their origin to
  • 00:05:21
    be anything. You could just like do a
  • 00:05:22
    DNS spoofing or like there's a lot of
  • 00:05:24
    ways you could get around that. However,
  • 00:05:25
    I wasn't done yet. Yeah, I hope not.
  • 00:05:26
    Presumably, the program checks the
  • 00:05:28
    origin is driverhub.asis.hub
  • 00:05:30
    and if so, it accepts the RPC request.
  • 00:05:32
    What I did next was see if the program
  • 00:05:34
    did a direct comparison like origin
  • 00:05:36
    equals or if it was a wildcard like
  • 00:05:39
    origin.includes. Oh no. When I when I
  • 00:05:43
    switched the origin to
  • 00:05:44
    driverhub.asis.commrbra.com
  • 00:05:47
    is who is this? Is Mr. Broad this guy?
  • 00:05:49
    Oh, I'm literally on mrbra.com. Okay, I
  • 00:05:51
    understand now. It allowed my request,
  • 00:05:54
    brother. No way, man. Oh, no, dude.
  • 00:06:01
    There's this thing in software where I
  • 00:06:04
    think like, oh, if they're writing UEFI
  • 00:06:07
    firmware, if they're releasing
  • 00:06:10
    motherboards, and obviously they're
  • 00:06:12
    skilled programmers, and obviously
  • 00:06:14
    they're going to know like security
  • 00:06:16
    principles and like the basics of
  • 00:06:19
    setting boundaries in software, but
  • 00:06:20
    using a wild card on an origin header is
  • 00:06:23
    just like, guys, are we are are we what
  • 00:06:27
    are we are we trying or what? It was
  • 00:06:29
    obvious now there was a serious threat.
  • 00:06:31
    The next step was to determine how much
  • 00:06:32
    damage was possible. Yeah. So
  • 00:06:34
    effectively there's no authentication on
  • 00:06:36
    this RPC. Damon, he can just arbitrarily
  • 00:06:39
    set his origin header to something that
  • 00:06:41
    contains this and bada bing bada boom,
  • 00:06:44
    he gets to talk to the RPC. The extent
  • 00:06:46
    of the damage by trolling through the
  • 00:06:48
    JavaScript on the website and about 700k
  • 00:06:49
    lines of decompiled code that an exe
  • 00:06:51
    produced, I managed to create a list of
  • 00:06:53
    callable endpoints, including some
  • 00:06:54
    unused ones sitting in the .exe. So
  • 00:06:57
    these are all endpoints, I guess. So,
  • 00:06:58
    initialize. This command is used for the
  • 00:07:00
    website to check if the software is
  • 00:07:01
    installed and returns basic installation
  • 00:07:03
    information. Uh, device info. This
  • 00:07:04
    returns all installed ASUS software, all
  • 00:07:07
    installed CIS drivers, all your hardware
  • 00:07:09
    components, and your MAC address, bro.
  • 00:07:11
    And again, like this is the weird thing
  • 00:07:14
    with diagnostic software or like debug
  • 00:07:16
    information. It's like, okay, is this
  • 00:07:19
    spyware or is this diagnostics? Again,
  • 00:07:22
    I'm an This is why I largely
  • 00:07:24
    disable any kind of telemetry from any
  • 00:07:26
    piece of software ever. Like Steam wants
  • 00:07:28
    to do like, "Oh, can we do like a
  • 00:07:29
    hardware survey on your on your computer
  • 00:07:31
    to figure out what graphics card you
  • 00:07:32
    have?" Absolutely not, Valve. off.
  • 00:07:35
    Nope. And then reboot. This reboots
  • 00:07:37
    target device immediately without
  • 00:07:38
    confirmation. That's that's something.
  • 00:07:41
    Oh, and there's an rce button. He So,
  • 00:07:43
    just for for the group, right? If you're
  • 00:07:44
    if you've lost track, he made this
  • 00:07:46
    website. This isn't actually real, but
  • 00:07:48
    this is him writing his own website so
  • 00:07:51
    that he can interact with the backend
  • 00:07:52
    RPC. So, I'm assuming he got rce. Well,
  • 00:07:55
    actually the article is literally called
  • 00:07:56
    one click rce. So I mean he did, right?
  • 00:07:58
    This is a button that enables him to do
  • 00:07:59
    it. Okay, log. This returned a zip copy
  • 00:08:02
    of all driverhub logs. Install app.
  • 00:08:08
    Okay,
  • 00:08:10
    this installs an app or driver by its
  • 00:08:12
    ID. The ids for all the apps are
  • 00:08:14
    hardcoded in an XML file which is
  • 00:08:16
    provided by the driverhub installer.
  • 00:08:18
    Okay, so there is at least some layer of
  • 00:08:19
    sandboxing, right? It's not like, oh,
  • 00:08:21
    install app, give it a URL, it'll pull
  • 00:08:24
    down an .exe and run the .exe update
  • 00:08:26
    app. This self updates driverhub using a
  • 00:08:29
    provided file URL to download and run.
  • 00:08:32
    Oh, okay. So, like install app doesn't,
  • 00:08:34
    but if you want to update driverhub, you
  • 00:08:37
    can just give it the URL. Hold on.
  • 00:08:39
    Achieving rce. I became fixated on the
  • 00:08:41
    update app endpoint for a variety of
  • 00:08:43
    reasons. So I spent a few hours
  • 00:08:45
    exploring the code in Gedra and hitting
  • 00:08:47
    it with various curl requests to learn
  • 00:08:48
    the intricacies of how it behaves. A
  • 00:08:50
    request to the endpoint looks like this.
  • 00:08:52
    Curl the RPC endpoint as v1 update app
  • 00:08:56
    raw data list URL driverhub
  • 00:08:58
    as.comapp.exe.
  • 00:09:00
    Okay. Uh that makes sense. So you're
  • 00:09:02
    asking the RPC endpoint to update
  • 00:09:04
    driverhub with some application. Okay.
  • 00:09:06
    And hopefully they're checking that the
  • 00:09:08
    application is signed. Let's see. Here
  • 00:09:10
    were the observations I had made about
  • 00:09:11
    the update app function at that point.
  • 00:09:13
    The URL parameter must contain.asis.com.
  • 00:09:16
    But unlike the RPC origin check, it
  • 00:09:18
    allows stupidity like example.com
  • 00:09:21
    payload.exe fu equalsis.com. Brother
  • 00:09:25
    Bill, man. There's no way. There's no
  • 00:09:27
    way they're doing like a reax.star re
  • 00:09:29
    like a reax for ASUS. I mean, they are,
  • 00:09:32
    but that's crazy. It saves a
  • 00:09:35
    file with the file name specified at the
  • 00:09:37
    end of the URL. Any file with any
  • 00:09:39
    extension can be downloaded. Insane. If
  • 00:09:42
    the file is an executable signed by
  • 00:09:44
    ASUS, it will be automatically executed
  • 00:09:46
    with admin permissions. Oh, okay. Signed
  • 00:09:48
    by ASUS. Good. That's a good thing. It
  • 00:09:50
    will run any executable signed by ASUS,
  • 00:09:52
    not just a driver hub installer. That is
  • 00:09:54
    weird, you know. I mean, like it makes
  • 00:09:56
    sense because like ASUS is the one
  • 00:09:57
    running this. So, the privilege boundary
  • 00:09:59
    is ASUS, but still weird. If a
  • 00:10:01
    downloaded file fails a signing check,
  • 00:10:03
    it does not get deleted. Ooh. Ooh. Ooh.
  • 00:10:07
    Okay. Hold on. When I learned that
  • 00:10:09
    DriverHub validates a signature of the
  • 00:10:11
    executable, I suspected an rce may no
  • 00:10:13
    longer be possible. However, I soldered
  • 00:10:15
    on regardless. Yes, baby, don't let
  • 00:10:17
    valid cryptography get in your way.
  • 00:10:18
    There are always workarounds. My first
  • 00:10:20
    thought was potentially a timing attack
  • 00:10:22
    where I tell DriverHub to install a
  • 00:10:24
    valid executable and after it validates
  • 00:10:26
    a signature, but just before it installs
  • 00:10:28
    the .exe, I swap it out with a malicious
  • 00:10:30
    executable. Ooh, like a time of check,
  • 00:10:33
    time of use in the signing. Interesting.
  • 00:10:36
    I theorize this could be possible by
  • 00:10:37
    making two app update requests in
  • 00:10:39
    parallel with the malicious update being
  • 00:10:41
    just after the legitimate one. Yeah,
  • 00:10:43
    that's great. However, timing attacks
  • 00:10:45
    tax need to be precisely timed and
  • 00:10:47
    having that timing being affected by
  • 00:10:48
    files needed to be downloaded made it a
  • 00:10:50
    very unreliable option. Given that I
  • 00:10:52
    decided to take a step back and think if
  • 00:10:54
    there were any other options. I mean
  • 00:10:56
    this is good though. Like if he could
  • 00:10:58
    predict the size of the two files and
  • 00:11:00
    figure out what the timing delta was
  • 00:11:02
    based on size, he could download the
  • 00:11:04
    ASUS signed app and as it was beginning
  • 00:11:07
    to run, the other app comes in off the
  • 00:11:09
    wire, replaces that application and then
  • 00:11:11
    the first thread context executes that
  • 00:11:13
    first application, right? It's a
  • 00:11:15
    traditional time of check, time of use.
  • 00:11:16
    If the access to that first .exe is not
  • 00:11:19
    locked, right, with some kind of like
  • 00:11:21
    like synchronization primitive, um you
  • 00:11:23
    could do that 100%. Obviously, it's
  • 00:11:25
    harder to do than what he eventually
  • 00:11:26
    found, I'm guessing. But still really
  • 00:11:27
    interesting. Eventually, I was led back
  • 00:11:29
    to the standalone Wi-Fi driver I was
  • 00:11:31
    going to install all along. The driver
  • 00:11:33
    was distributed in the following zip
  • 00:11:34
    file. Yeah, don't forget guys, this
  • 00:11:36
    whole this whole saga was just this guy
  • 00:11:38
    trying to figure out a way to get Wi-Fi
  • 00:11:40
    to work on his mobile. So, that's that's
  • 00:11:41
    pretty crazy. Okay, the files of
  • 00:11:43
    importance here are ASUS setup.ini,
  • 00:11:46
    silent install.cmd. When executing ASUS
  • 00:11:49
    setup, it first reads ASUS setup.ini,
  • 00:11:51
    which contains metadata about the
  • 00:11:53
    driver. I took interest in a property in
  • 00:11:55
    the file, a silent install run. When you
  • 00:11:57
    doubleclick ASUS setup.exe, it launches
  • 00:11:59
    a simple guey installer thing. But if
  • 00:12:02
    you run as setup with the - S flag,
  • 00:12:05
    driverhub calls it to do a silent
  • 00:12:07
    install. It will execute whatever is
  • 00:12:10
    specified in silent install run. In this
  • 00:12:13
    case, the any file specifies a command
  • 00:12:15
    script that performs an automated
  • 00:12:17
    headless install of the driver, but it
  • 00:12:18
    could run anything. No way. Okay. Yeah.
  • 00:12:22
    Yeah. So what he can do download this
  • 00:12:25
    custom ASA setup anything it will run
  • 00:12:28
    whatever is in this path. That's nuts.
  • 00:12:30
    Okay. So let's go through this. Visit a
  • 00:12:32
    website. Yeah. So you have to match
  • 00:12:33
    their stupid origin request header
  • 00:12:35
    thing. Download via the update app
  • 00:12:37
    through the browser the script for as
  • 00:12:40
    setup.in and as setup.in will silently
  • 00:12:43
    run calc.exe. And when you make that
  • 00:12:46
    request it'll pull down a signed file
  • 00:12:48
    but it'll also pull down that ini with
  • 00:12:50
    admin per with admin permissions. Holy
  • 00:12:52
    RCE.
  • 00:12:55
    Bada boom. He popped the calc. Crazy
  • 00:12:57
    behavior. That's nuts. That is nuts.
  • 00:13:00
    Okay. Timeline reporting. We got to give
  • 00:13:01
    credit to ASUS. How quickly did they fix
  • 00:13:03
    this? So, he found it on April 7th.
  • 00:13:06
    Damn. He sees communist time stamps.
  • 00:13:08
    It's crazy. Okay. Found the initial bug.
  • 00:13:10
    Got the rce. Reported it same day. Good
  • 00:13:12
    for him. Automated response from ASUS on
  • 00:13:14
    the 9th. 9 days later, he got a
  • 00:13:16
    follow-up with the human. Confirmed the
  • 00:13:18
    fix the day after. Okay. So, he had a
  • 00:13:20
    9-day turnaround. Then he got two. Wow,
  • 00:13:22
    two CVEs, one was a 9.4. What's the What
  • 00:13:24
    does the actual write up on this? The
  • 00:13:25
    issue is limited to motherboards. Feels
  • 00:13:27
    weird because this could affect a lot of
  • 00:13:28
    other software, but let's see. Let's see
  • 00:13:29
    what he has to say. Assessing the
  • 00:13:30
    damage. Uh, almost immediately after
  • 00:13:32
    reporting the the rce to ASUS, I wrote a
  • 00:13:34
    script to track certificate transparency
  • 00:13:36
    updates on my VPS to see if anyone else
  • 00:13:38
    had registered a domain with the wild
  • 00:13:40
    card. Okay. From looking at other
  • 00:13:42
    websites with that log, I could see the
  • 00:13:45
    domains and subdomains would already
  • 00:13:46
    appear in the logs usually within a
  • 00:13:47
    month. After a month of waiting, I'm
  • 00:13:48
    happy to say that my test domain is the
  • 00:13:50
    only website that fits that reax,
  • 00:13:52
    meaning it is unlikely that this was
  • 00:13:54
    being actively exploited prior to my
  • 00:13:55
    reporting of it. Good. That's good to
  • 00:13:56
    hear. Kind of scary this probably sat
  • 00:13:58
    out for so long, but I'm happy to hear
  • 00:14:00
    that nothing uh nothing scary happened.
  • 00:14:02
    Bug bounty. I asked ASUS if they offered
  • 00:14:04
    bug bounty programs. They responded
  • 00:14:06
    saying they do not, but they would
  • 00:14:07
    instead put my name in their hall of
  • 00:14:09
    fame. This is understandable since ASUS
  • 00:14:11
    is just a small startup and like wait, I
  • 00:14:14
    thought, isn't ASUS a huge company? Oh,
  • 00:14:17
    he's he's being a jokester, bro. Market
  • 00:14:20
    cap of nearly $16 billion. And bro got a
  • 00:14:24
    shout out. Hold on. And he got a shout
  • 00:14:28
    out on the hall of fame. Mr. Bro, April
  • 00:14:31
    2025.
  • 00:14:34
    You hate to see it, dude. That's crazy
  • 00:14:35
    as hell. Fun notes. After publishing the
  • 00:14:38
    article, another security researcher
  • 00:14:39
    reached out. It turned out that they had
  • 00:14:41
    already reported the same origin check
  • 00:14:42
    issue back in February, and it took
  • 00:14:43
    until now for ASUS to fix it. Oh my god.
  • 00:14:46
    Okay, that's significantly worse than I
  • 00:14:48
    thought. Asus did not inform me of this,
  • 00:14:50
    so it felt a bit bad to be stung like
  • 00:14:51
    that. ASUS also solely credited that
  • 00:14:53
    security research on CV.Page. Oh, and
  • 00:14:56
    they didn't add them to the credit
  • 00:14:57
    section. Oh Okay, so he found this
  • 00:14:59
    bug but didn't get credit for the CV.
  • 00:15:00
    That kind of sucks, man. When submitting
  • 00:15:02
    the vulnerability report through ASE's
  • 00:15:03
    security advisory form, Amazon
  • 00:15:05
    CloudFront flagged the attach pock as a
  • 00:15:08
    malicious request and blocked the
  • 00:15:10
    submission. Dude, oh my god. some it
  • 00:15:15
    just it's just crazy to me that like
  • 00:15:17
    this implies that whoever designed this
  • 00:15:19
    system to do the bug reporting didn't
  • 00:15:22
    test it or they're just not watching
  • 00:15:24
    their audit logs. Like both of those are
  • 00:15:27
    insane mistakes. So I had to strip some
  • 00:15:29
    of the pock code out and link video
  • 00:15:31
    recordings instead. Ah man. That's
  • 00:15:32
    wild. If you click install all in driver
  • 00:15:34
    hub instead of manually clicking install
  • 00:15:35
    all on each of their recommended
  • 00:15:37
    drivers, it will also install Armory
  • 00:15:38
    Crate, ASUS' custom CPUZ, Norton 360,
  • 00:15:42
    and WinRAR. Yes, I I literally have
  • 00:15:44
    Armory Crate on this computer in my
  • 00:15:46
    studio and I'll randomly have Norton
  • 00:15:48
    like appear on my computer. I'm like,
  • 00:15:49
    "Bro, I don't I don't want Norton. I I
  • 00:15:51
    would like to use Windows Defender alone
  • 00:15:53
    and Norton still appears and I have to
  • 00:15:55
    manually get rid of it every time."
  • 00:15:56
    Their CVE description for the RC is a
  • 00:15:58
    little misleading. They say, "Yeah, no,
  • 00:15:59
    exactly. They had like this this thing.
  • 00:16:01
    The issue is limited to motherboards and
  • 00:16:03
    does not affect laptops, desktop
  • 00:16:04
    computers. However, this affects any
  • 00:16:06
    computer, including desktops and laptops
  • 00:16:08
    that have driver hub installed." Yeah,
  • 00:16:10
    this is not a motherboard issue. This is
  • 00:16:12
    nothing to do with motherboards, by the
  • 00:16:13
    way. This is literally if you have
  • 00:16:14
    driverHub installed, I'm saying hub so
  • 00:16:16
    much in this video. Um, you are
  • 00:16:18
    affected. Also, instead of them saying
  • 00:16:20
    it allows for arbitrary code execution,
  • 00:16:22
    they say it allows untrusted sources to
  • 00:16:24
    affect system behavior. That's nuts,
  • 00:16:27
    dude. It's like back in like 06 when
  • 00:16:29
    CVES would come out and it would be like
  • 00:16:31
    Cisco IOS9 vulnerable to DOSs by
  • 00:16:35
    malformed IPv4 packet. Like, yeah, dude,
  • 00:16:38
    it's a DOSs, but like it could also be
  • 00:16:40
    rce. You know what I mean? Like, you're
  • 00:16:42
    hiding behind this weird verbiage. It's
  • 00:16:43
    the same thing here. Like, allowing
  • 00:16:45
    untrusted sources to affect your systems
  • 00:16:47
    behavior. Yeah, in the form of running
  • 00:16:49
    arbitrary binaries, you Like,
  • 00:16:51
    holy crap. My onboard Wi-Fi still
  • 00:16:53
    doesn't work. I had to buy an external
  • 00:16:55
    USB Wi-Fi adapter. Thanks for nothing,
  • 00:16:58
    DriverHub. Crazy stuff, guys. Yeah, man.
  • 00:17:00
    It's just I have this weird thing about
  • 00:17:03
    like UEFI developer people, people that
  • 00:17:05
    like make motherboards make this
  • 00:17:07
    firmware. In my head, because this stuff
  • 00:17:08
    is so complicated, like bootloadaders
  • 00:17:10
    and like UFI loaders and stuff, that
  • 00:17:12
    stuff is so hard to do. I think
  • 00:17:14
    intrinsically I'm like, "Oh, obviously
  • 00:17:16
    they're good developers. I mean, they
  • 00:17:18
    must know what they're doing." But then
  • 00:17:19
    you hear about this stuff and it's like,
  • 00:17:20
    okay, they're probably really really
  • 00:17:21
    good about telling you of like the
  • 00:17:23
    startup sequence for like an x64
  • 00:17:25
    processor, but the minute you get into
  • 00:17:27
    like security boundary land of like
  • 00:17:29
    preventing this Damon from being able to
  • 00:17:31
    affect this Damon, it just all that
  • 00:17:33
    goes out the window. The fact that it's
  • 00:17:35
    doing reax checks on the origin header
  • 00:17:38
    as like its main authentication is
  • 00:17:40
    crazy. I am impressed that they're doing
  • 00:17:42
    binary signing. Like they're checking to
  • 00:17:44
    see if the the binary that you download
  • 00:17:46
    is signed by ASUS, which like when I saw
  • 00:17:49
    this, I'm like, "Oh, okay. It's going to
  • 00:17:50
    be a nothing burger." But then this file
  • 00:17:53
    can just run arbitrarily anything. It's
  • 00:17:55
    just wild to me. Anyway, guys, if you
  • 00:17:57
    like these kinds of videos, do me a
  • 00:17:58
    favor. Hit that like button, hit
  • 00:17:59
    subscribe, and then go check out this
  • 00:18:01
    video about an even crazier story that I
  • 00:18:04
    once read. We'll see you there. Goodbye.
タグ
  • ASUS
  • DriverHub
  • RCE
  • vulnerability
  • software security
  • remote code execution
  • RPC
  • bug bounty
  • cybersecurity
  • motherboard