MAJOR EXPLOIT: This GIF can Backdoor any Android Phone (sort of)

แชร์
ฝัง

ความคิดเห็น • 382

  • @DanielBoctor
    @DanielBoctor  ปีที่แล้ว +21

    WE HAVE A DISCORD NOW! discord.gg/WYqqp7DXbm

    • @ytg6663
      @ytg6663 ปีที่แล้ว +1

      Is this Exploit still exist ? What is the cve ?

    • @DanielBoctor
      @DanielBoctor  ปีที่แล้ว +1

      @TDS2023 Thank you! I appreciate the words! Glad you liked it 😊

    • @DanielBoctor
      @DanielBoctor  ปีที่แล้ว +3

      @ytg6663 It is no longer exploitable, as it was fixed both within a WhatsApp patch (2.19.244), and within the android-gif-drawable library. Facebook reserved CVE-2019-11932 for this issue.

    • @Skinnamarink.
      @Skinnamarink. ปีที่แล้ว

      @@DanielBoctor Why do you speak with upspeak? its fvcking annoying

    • @joeblowjo
      @joeblowjo ปีที่แล้ว

      ​​@@DanielBoctorcan this exploit happen anywhere other That's WhatsApp? I don't use WhatsApp?

  • @crism8868
    @crism8868 ปีที่แล้ว +370

    Kinda cool, the principles of these kinds of low level exploits are not so different from how speedrunners achieve arbitrary code execution in old games, mess around with pointers until they point to the memory address of the code you want to run next, and they do this by exploiting glitches during gameplay

    • @oneke4498
      @oneke4498 ปีที่แล้ว +10

      How to obtain bedrock in minecraft:

    • @jongibson3331
      @jongibson3331 ปีที่แล้ว +4

      very cool, never thought about it like that

    • @Primu
      @Primu ปีที่แล้ว +9

      They're both the same thing. Both involve injecting code into memory by exploiting a vulnerability.

    • @phr3ui559
      @phr3ui559 ปีที่แล้ว

      true

    • @lunarcdr3083
      @lunarcdr3083 ปีที่แล้ว

      This was exactly my thought

  • @memes_gbc674
    @memes_gbc674 ปีที่แล้ว +62

    as soon as i realized the gif struct had a function pointer it was over

    • @DanielBoctor
      @DanielBoctor  ปีที่แล้ว +9

      LOOOOOOOOL that will do it

    • @mangakadomingos292
      @mangakadomingos292 5 หลายเดือนก่อน +1

      Hi bro,could you teacher me how to do it?

  • @J0R1AN
    @J0R1AN ปีที่แล้ว +96

    Genuinely, what a great explanation of the double free vulnerability! Really love the detail and this can be very useful for anyone getting into binary exploitation techniques.
    For me this really solidified the basics I saw here and there, with a nice practical example

    • @DanielBoctor
      @DanielBoctor  ปีที่แล้ว +3

      Thanks for the wholesome comment, it means a lot

    • @BillAnt
      @BillAnt 9 หลายเดือนก่อน +3

      ​@@DanielBoctor- Complicated exploit but well dissected. BTW you sound a bit like the male version of Christina Hall. hehe

    • @DanielBoctor
      @DanielBoctor  9 หลายเดือนก่อน +3

      do I really? I can't say I notice the resemblance myself lol. I'm glad your liking my videos, thanks for the support

    • @BillAnt
      @BillAnt 9 หลายเดือนก่อน

      ​@@DanielBoctor- Check out the way Christina Hall talks in her "Jacuzzi" commercial,. enunciating the end of words. lol

  • @J_i_m_
    @J_i_m_ ปีที่แล้ว +33

    One of the best explanations ever of an exploit that goes into technical detail!

    • @DanielBoctor
      @DanielBoctor  ปีที่แล้ว +4

      You are one awesome fella thanks for the support

  • @quazar-omega
    @quazar-omega ปีที่แล้ว +14

    Amazing explanation! I like how you managed to dive pretty deep without making the video super long

  • @cheatertim
    @cheatertim ปีที่แล้ว +76

    Good video.
    the title however is misleading, it's not ANY android phone it's android phones that already have a malicious application installed and whatsapp, additionally the title implies that the exploit can be used right now, even though it was patched years ago by both whatsapp and android

    • @AlienzOnlyBruh
      @AlienzOnlyBruh ปีที่แล้ว +16

      I agree but it’s for the views and he deserves the views. Very well put video. Very informative.

    • @springier6869
      @springier6869 ปีที่แล้ว +4

      @@AlienzOnlyBruhindeed

    • @tacokoneko
      @tacokoneko ปีที่แล้ว +8

      also i would argue that this is really just a whatsapp exploit because the reverse shell gained is just the same privileges as whatsapp is currently allowed by android, so access to all user files if the user ever had previously attached something in whatsapp and allowed the permission, also the "android gif library" isn't used by all android apps not by a long shot, it just happened to be imported into whatsapp's source code and be what whatsapp used to render gifs, there isn't any real priviliege escalation exploit here

    • @KaufDirGeld
      @KaufDirGeld ปีที่แล้ว +7

      ​@@AlienzOnlyBruhme when the judge asks why i robbed the bank

    • @hoeyd
      @hoeyd ปีที่แล้ว +1

      ​@@AlienzOnlyBruhI mean I'm disliking and leaving 34 seconds in lol

  • @josephs3973
    @josephs3973 ปีที่แล้ว +14

    "for whatever reason they're parsed twice" sounds like intentional backdoor to me.

    • @temp50
      @temp50 ปีที่แล้ว +4

      More like a 'performance bug' or some thumbnail generation, etc... Let's say you wanna show the first frame of the gif as a preview and the user should tap on the image to actually start playing the gif. You can do it different ways but it is easy to image they choose a method to reread the gif twice. First to acquire an initial frame and a second time when the user want to play the gif.

  • @BitwiseMobile
    @BitwiseMobile ปีที่แล้ว +10

    I went to college in 1990, and they were still teaching C for first year programming. Java was still new to the game, so you had a choice of Pascal or C. I remember the professor told us that after the 3rd week we can expect half the class to drop. The 3rd week is when he introduced pointers. He wasn't wrong. This is a great video that helps illustrate the concept behind pointers. I think part of the problem was the professor, but I wasn't going to say anything. I taught myself assembler when I was 14, so pointers to me were already natural and I had no issue understand them. Half the class struggled immensely and wound up dropping before the first mid-term.

  • @25_26
    @25_26 ปีที่แล้ว +2

    How the researcher discovered gifs were rendered twice in whatsapp is very interesting. I mean i know some people who does reversing on major android apps or iphone app ipa files but i dont know they do the research with that depth of knowlege.

  • @TheControlMastr
    @TheControlMastr 11 หลายเดือนก่อน +2

    What a GOAT!!! The way you edit the videos to match as you explain is amazing, specially the “under the hood” explanations! Legend in the making

    • @DanielBoctor
      @DanielBoctor  11 หลายเดือนก่อน +1

      THANK YOU INIVEK ❤️❤️❤️❤️❤️❤️

  • @TheDanishMaleNurse
    @TheDanishMaleNurse ปีที่แล้ว +2

    Great comparison between these two channels, got me thinking more about my upcoming videos.
    And I have asked my self the question you end on I just need to make it more clear who I'm targeting in my titles

  • @HowsDaJello
    @HowsDaJello ปีที่แล้ว +152

    Well at the last second you took away its powers by explaining that the user would have needed to basically download a virus first. But I could see this working for a malicious company that creates popular apps with the goal being to use the app as the “virus” agent to get that local address saved and get the user’s phone number through a sign up or something. And with the local address and the phone number, sending them a gif on WhatsApp (if they have WhatsApp) would work. Seems like it would work best if you had a huge database of potential victims. Thx for explaining this stuff bro.
    edit: I was wrong about how this works

    • @DanielBoctor
      @DanielBoctor  ปีที่แล้ว +84

      It's actually a lot easier than that. I didn't mean to take away from the vulnerability too much. As mentioned in the video, the required memory addresses are constant values, and ONLY change during system reboots. Any application has access to these addresses.
      An app would not even need to harvest the targets phone number, NOR send the user a GIF in the first place. It could merely craft the GIF itself, and save it to the phones file system locally. That's it. The next time the victim opens their media gallery in WhatsApp, the GIF will be rendered directly, without the need to even receive a message.
      Thanks for watching, and I'm glad you enjoyed!

    • @HowsDaJello
      @HowsDaJello ปีที่แล้ว +1

      that's crazy bro lol sorry I misunderstood@@DanielBoctor

    • @PlaneToTheBrainES
      @PlaneToTheBrainES ปีที่แล้ว +8

      @@DanielBoctor But should the person run an old version of whatsapp or not to do this?

    • @DanielBoctor
      @DanielBoctor  ปีที่แล้ว +38

      The vulnerability is actually 3-fold:
      1. Android OS returning the same memory address twice after a double free
      2. The android-gif-drawable library causing a double free in the first place
      3. WhatsApp double parsing GIFs, enabling any real harm to be caused from the double free
      You would need all three of these conditions to be present for this to be exploitable. Just using an old version of WhatsApp would not be enough, as both WhatsApp and the GIF library were both patched.

    • @cxarra
      @cxarra ปีที่แล้ว

      This wasn’t mentioned in the video, but the presented vulnerability is merely an example of what can be done. OP mentions that there are potentially more complicated methods to leak relative addresses allowing us to do ROP to mitigate read-only pages. Without getting too far into it, the deterministic way android handles double frees enables us to, within the same gif, leak a valid instruction pointer and then use different techniques with that executable memory location to execute our shellcode

  • @wrathofainz
    @wrathofainz 11 หลายเดือนก่อน +3

    Your intonation has "burger king foot-lettuce" vibes 💀

    • @DanielBoctor
      @DanielBoctor  11 หลายเดือนก่อน

      yeah ik but I think i finally fixed it in my most recent video

  • @Mavrik9000
    @Mavrik9000 ปีที่แล้ว +5

    Interesting, but a six-year-old vulnerability is not "zero-day."

    • @RAVITEJA-yd8tl
      @RAVITEJA-yd8tl 5 หลายเดือนก่อน

      can u tell me the best way to install malware in someone mobile without click

  • @ALWALEEDALWABEL
    @ALWALEEDALWABEL ปีที่แล้ว +26

    I like the way you explain, it's amazing and interesting, thank you. 👍🏻

    • @DanielBoctor
      @DanielBoctor  ปีที่แล้ว +3

      I'm glad you liked it! Means a lot

  • @springier6869
    @springier6869 ปีที่แล้ว +5

    epic video, didn’t understand it much but it was cool, maybe even better than your previous one

    • @DanielBoctor
      @DanielBoctor  ปีที่แล้ว +2

      LOL, it do be like that sometimes

  • @hengolubenko2562
    @hengolubenko2562 ปีที่แล้ว +10

    Awesome video🔥 RCE is so cool, tnx for explaining everything!!

    • @DanielBoctor
      @DanielBoctor  ปีที่แล้ว +1

      I really is lol. Glad you have you here! Thanks for the kind words, keep on doing what you're doing 😊

  • @maternalpick1313
    @maternalpick1313 ปีที่แล้ว +6

    Fantastic video Daniel, I cant wait for the next video!

  • @vanievors2476
    @vanievors2476 ปีที่แล้ว +3

    Damn as a Cybersecurity reasercher this video was dope!

  • @petros_adamopoulos
    @petros_adamopoulos ปีที่แล้ว +25

    I'll fix the title for you "This GIF can't Backdoor ANY Android Phone"

  • @swedishguy83
    @swedishguy83 ปีที่แล้ว +3

    It’s pronounced “Jif” like the peanut butter according to Steve Wilhite, creator of GIF.

  • @dj-la--wolf7194
    @dj-la--wolf7194 ปีที่แล้ว +4

    I'm going to hack my own self to understand more of this

  • @PlaneToTheBrainES
    @PlaneToTheBrainES ปีที่แล้ว +8

    Your videos are great! Thanks so much.

    • @DanielBoctor
      @DanielBoctor  ปีที่แล้ว +2

      Thanks! Glad you liked it 😊

  • @randomstring2i9r41p
    @randomstring2i9r41p ปีที่แล้ว +2

    good for me that i understand C lingo. this is so cool to know.

  • @Ninja-lu4dg
    @Ninja-lu4dg ปีที่แล้ว +6

    Great video. Looking forward to seeing future content.

    • @DanielBoctor
      @DanielBoctor  ปีที่แล้ว +1

      Glad you liked it! More is on the way 🚀🚀🚀

  • @balloney2175
    @balloney2175 9 หลายเดือนก่อน +2

    Thank God! I never used WhatsApp!

  • @yulose9
    @yulose9 ปีที่แล้ว +2

    MAN YOUR CHANNEL IS INTERESTING! KEEP IT UP!

    • @DanielBoctor
      @DanielBoctor  ปีที่แล้ว +1

      THANK YOU!!! GLAD TO HAVE YOU HERE 😊

  • @einmeddler
    @einmeddler ปีที่แล้ว +3

    amazing video and very interesting topic, this deserves way more attention! you have my sub, keep up the good work!

    • @DanielBoctor
      @DanielBoctor  ปีที่แล้ว +1

      Thank you! Glad you have you apart of the community

  • @altaccount648
    @altaccount648 ปีที่แล้ว +3

    We should really start thinking about virtualizing apps on every platform...

    • @25_26
      @25_26 ปีที่แล้ว +1

      More virtualization needs more memory

    • @altaccount648
      @altaccount648 ปีที่แล้ว +1

      @@25_26 you'd think we have plenty... I wouldn't mind spending extra $50 knowing my phone is secure

  • @AlecMaly
    @AlecMaly ปีที่แล้ว +3

    Just found your channel. Great stuff!!

  • @retr0-register
    @retr0-register 7 หลายเดือนก่อน

    The thing about double free is that it allows you to edit a free chunk, in glibc (I am not sure if its in android kernel) free chunks are linked via fd & bk pointers which is pretty much a double-linked list (this also depends on the size of the free chunk which is categorized to which bin list) , modifying these pointer in a free chunk can allowed you to malloc in arbitrary address since malloc related operation retrieve chunks in the free list if exist rather than creating a new one

  • @cexeodus
    @cexeodus ปีที่แล้ว +3

    Similar to how originals of edited jpeg images were recovered in an exploit that manipulated leftover space inside a buffer to reconstruct the bits of the original. For the most part you would recover only the later bits corresponding to pixels of the original because of how the file would be saved coupled with the top-down rendering of your device. The jpeg once saved after editing/cropping/redactions could therefore still have the information, but this gif exploit would basically take that one step further in regards to abusing the rendering method, by re-filling up the empty space with (insert any smol footprint exploit payload)
    And the beauty of gif, is that can be looped. Which can also be a bigger issue if the gif allows itself to talk directly into terminal with certain commands. Persistence can be achieved and hidden (in perpetuity) if done correctly.

  • @sulavadhikari5843
    @sulavadhikari5843 11 หลายเดือนก่อน +4

    damn thats sick, love your content. its really hard to find videos this detailed.♥

    • @DanielBoctor
      @DanielBoctor  11 หลายเดือนก่อน +2

      THANK YOU ♥

  • @SB-qm5wg
    @SB-qm5wg ปีที่แล้ว +3

    The people that find these are on another level 🧠

    • @DanielBoctor
      @DanielBoctor  ปีที่แล้ว +1

      I know, it really is incredible 🤯

  • @daveyhodge
    @daveyhodge ปีที่แล้ว +16

    I think a malicious actor must've hacked your voice box and spammed question marks all throughout your sentences.

    • @csilva8785
      @csilva8785 7 หลายเดือนก่อน +2

      Underrated comment 😂

    • @john-ic5pz
      @john-ic5pz 5 หลายเดือนก่อน

      😆 in 2020 ppl were saying they'd leave the USA if Trump was elected. I'm ready to leave to get away from the valley girl accent that's so popular with the hipstERS & liberal medIAAA.
      😣🔫

  • @arduinoguru7233
    @arduinoguru7233 ปีที่แล้ว +1

    Honesty theses people who found this vulnerability first are very consistent

  • @alexdelarge1845
    @alexdelarge1845 11 หลายเดือนก่อน +1

    I love the technical details usually you.dont get to see such detailed explanations for needs like us . Thkx amazing content

    • @DanielBoctor
      @DanielBoctor  11 หลายเดือนก่อน +1

      Glad you liked it!

  • @Finnel12
    @Finnel12 ปีที่แล้ว +8

    Would the reverse shell and commands sent to it have the same permissions as Whatsapp in this case?

    • @DanielBoctor
      @DanielBoctor  ปีที่แล้ว +7

      It would. All commands would be executed within WhatsApp context, allowing one to steal files from the WhatsApp sandbox, including the message database, as Awakened mentioned in his original report. I should have explained this in more detail within the video.

  • @williambrasky3891
    @williambrasky3891 ปีที่แล้ว +2

    Commenting for the algorithm. Love the low level explanation of these vulnerabilities.

    • @DanielBoctor
      @DanielBoctor  ปีที่แล้ว +1

      My first 'commenting for the algorithm' comment LOOOOOOOL. Thank you for the support!! Means a lot 😊

  • @NoxernPL
    @NoxernPL ปีที่แล้ว +24

    Classic, not the first time realloc breaks something

  • @sevenredundent7256
    @sevenredundent7256 ปีที่แล้ว +1

    I waited all the way to the end to find out I couldn't do this to myself to give me root.

  • @TeamUnpro
    @TeamUnpro ปีที่แล้ว +1

    You did a very solid job explaining everything. That's awesome man, ty for the vid

    • @DanielBoctor
      @DanielBoctor  ปีที่แล้ว +2

      Thank you for being apart of it! Glad to have you here 😊

    • @TeamUnpro
      @TeamUnpro ปีที่แล้ว

      Heck yeah~ this made me curious what other kind of exploits there are, so I start to look at the standard linux kernel 6.6 and instantly I noped tf out of there
      Not because I wouldn't eventually be able to get a grasp on the madness that's called code (tho it is organized), but because I already have too many coding projects lol
      @@DanielBoctor

  • @JustAnotherAlchemist
    @JustAnotherAlchemist ปีที่แล้ว +3

    ROP is certainly a fun way to program.

  • @kiiikoooPT
    @kiiikoooPT ปีที่แล้ว +5

    We got to love the clickbait...

  • @ChloeCake
    @ChloeCake ปีที่แล้ว +3

    You said function pointer and I literally went WHAT IN THE LIVING SECURITY HOLE IS THIS SHIT
    Needed to say no more, I instantly understood the gravity of this exploit

    • @DanielBoctor
      @DanielBoctor  ปีที่แล้ว +2

      yep, that will do it LOL

  • @guiller2371
    @guiller2371 11 หลายเดือนก่อน +2

    Assembly, memory allocation, graphics programming, for an attack? Are you kidding me? Who is going to go for all this trouble?
    It has to be some government or a large interprise.

  • @GiuseppeFavara-c3c
    @GiuseppeFavara-c3c ปีที่แล้ว +3

    Wich version of android is vulnerable of this RCE?

  • @LolWutMikehSM
    @LolWutMikehSM ปีที่แล้ว +2

    Does comp sci teach that the word asterisk is asterix or something. Beautiful video. Smart lad, amazing explanation, clearly understand hardware and software and programming languages super well. And then asterix. You get my sub, but my question as well.

    • @DanielBoctor
      @DanielBoctor  ปีที่แล้ว +1

      LOL, didn't really think of the pronunciation while I was filming. Thanks for the feedback!

    • @encrypted_for
      @encrypted_for 9 หลายเดือนก่อน

      What if I want to use Obelix instead?

  • @ChickenCaeser
    @ChickenCaeser ปีที่แล้ว +1

    I remember when a picture would backdoor any android phone..ahh how the times have changed

  • @patchbyte6856
    @patchbyte6856 ปีที่แล้ว +2

    Really good video!

    • @DanielBoctor
      @DanielBoctor  ปีที่แล้ว +2

      Thanks! Glad you liked it 😊. Keep on spreading that positivity

  • @Mempler
    @Mempler ปีที่แล้ว +5

    but it will not give you root access, only sandboxed access to the application that has the rce, which makes it pretty much useless.
    there needs to be another step before an attacker gets access to your phone, it needs a root shell.

  • @XeZrunner
    @XeZrunner ปีที่แล้ว +3

    Nicely explained!

  • @ahndeux
    @ahndeux ปีที่แล้ว +2

    I'm FREE! FREE! Oh crap, its a double free statement.

  • @94Pattycake
    @94Pattycake ปีที่แล้ว +3

    I don't know why I clapped when I finished watching the video. What an amazing explanation. Im still learning but this was a lot of fun!

    • @DanielBoctor
      @DanielBoctor  ปีที่แล้ว +1

      What a wholesome comment LOL. Means a lot

  • @Napert
    @Napert ปีที่แล้ว +4

    "this gif can backdoor any android phone!*"
    * as long as the phone is this specific model made between these 2 specific dates with this specific version of android and needs to have this specific version of a specific app installed and needs a cosmic ray to flip a specific bit in a specific part of memory at this specific time

    • @Napert
      @Napert ปีที่แล้ว

      or at least that's how I see most "brand new 0 day 0 click (some other fancy words) exploits that will kill your dog"

    • @sycix1
      @sycix1 ปีที่แล้ว +1

      Sometimes, but first of all if you spread it to thousands of devices you're going to hit a lot, and second of all this one just needs your firmware + whatsapp version to be older than newest.
      But I have to admit this shell is pretty much useless without privilege escalation

  • @joseville
    @joseville 3 หลายเดือนก่อน

    6:27 any number greater than 21 to trigger realloc condition, right?
    Great video btw!
    Your explanations are easy to follow despite the complexity of the topic!

  • @tomtravis858
    @tomtravis858 ปีที่แล้ว +2

    Maybe I'm stupid, why does it let you define a zero width/height? What possible use case would that serve?

  • @UltimatePerfection
    @UltimatePerfection ปีที่แล้ว +7

    Is there a version of this gif that just roots your phone without the need of reinstalling the entire OS and losing your data?
    I always wonder why nobody uses exploits like this to just make easy no-fuss rooting tool.

    • @bryanjk
      @bryanjk ปีที่แล้ว +4

      That'd be great

    • @narfharder
      @narfharder ปีที่แล้ว

      Even temp root would be better than nothing. I would settle for google cloud app data backups that work.

    • @Slowburnripz
      @Slowburnripz 11 หลายเดือนก่อน +1

      It's pretty darn easy to root, people just want to use the most latest devices, which some are currently not root able. Like us verisons of Samsung phones but European verisons are able to root because of unlocked bootloader. The one plus series are the most easiest to root even the brand new one.

    • @narfharder
      @narfharder 11 หลายเดือนก่อน

      @@Slowburnripz I think a distinction should be made between actual rooting, which lets you access all your own info / hidden app data / etc, and bootloader unlocking, which explicitly deletes it.

    • @UltimatePerfection
      @UltimatePerfection 11 หลายเดือนก่อน +2

      @@Slowburnripz Not if you want to keep your files on the device though. Also "easy" is relative, since all known methods require you to install some weird software and connect your phone to your computer.
      Ideally EU or some other entity would enforce a single click root for all the devices. Why is there no switch in the Android's menu to easily root phone, similar to "developer settings" one is beyond me.

  • @crlfff
    @crlfff ปีที่แล้ว +2

    Amazing explanation

  • @mbhv-ll9lq
    @mbhv-ll9lq ปีที่แล้ว +3

    Very informative.

  • @YeloPartyHat
    @YeloPartyHat 7 หลายเดือนก่อน +1

    Holy crap. This is very elaborate!

  • @sproga_265
    @sproga_265 ปีที่แล้ว +2

    Fadcinating to hear music made by one TH-camr (lemmino's cicaida) in another TH-camr's video

    • @DanielBoctor
      @DanielBoctor  ปีที่แล้ว +1

      Yep, he posts all of his music publicly and lets other creators use them. Gotta love LEMMiNO. It's credited in my description too - I used 2 of his songs in this video.

  • @POLARTTYRTM
    @POLARTTYRTM ปีที่แล้ว

    I couldn't understand this even if this was drawn and explained to me 1 million times in a row.

  • @Sypaka
    @Sypaka ปีที่แล้ว +1

    Reminds me of those funny adult ads in gif format..

  • @no-one_no1406
    @no-one_no1406 ปีที่แล้ว +3

    This smells like a engineered backdoor. Too many "very strange" triggers, that would make no sense to have in the code to begin with.

  • @user-ro1cc8tz6d
    @user-ro1cc8tz6d ปีที่แล้ว +2

    great and clear explanation

  • @tossancuyota7848
    @tossancuyota7848 ปีที่แล้ว +1

    bruh this is like 2022 gif incident on discord ... reboot

  • @pabloenriquegorga4222
    @pabloenriquegorga4222 ปีที่แล้ว +2

    great video ! thanks for it !

    • @DanielBoctor
      @DanielBoctor  ปีที่แล้ว +1

      Thanks!! Glad you have you here!

  • @anno_nym
    @anno_nym ปีที่แล้ว +3

    The more I see C code, the more I get scared of it.
    I mean, basic stuff like simple functions, loops, etc are okay, but if I see pointers and malloc(), I have this feeling that something must go wrong with these. There's simply no way that any programmer could find all the related issues and low level edge cases.
    If some program could receive any malicious input, I feel much safer with higher-level languages like C# or Java.

    • @idedary
      @idedary ปีที่แล้ว +2

      Thats exactly why language like Rust was born and why Google and Microsoft both setup their in-house policies to use Rust lang for these kind of jobs.

    • @D0Samp
      @D0Samp ปีที่แล้ว +2

      Even a semi-modern C++ (≥ C++11) codebase is a step up from C in that regard, as there's clear ways to either pass allocations around or let the compiler clean them up for you. (It still sucked at bounds checking for a long time compared to modern unmanaged languages like Rust.)

  • @joseville
    @joseville 3 หลายเดือนก่อน

    10:18 did the attacker write the gadget or was it already written?
    Are x0, x8, and x19 registers or mem addresses?
    Would x19 need to be the address of frame 1 / gif info?

  • @Anthonyfromtheuk-g3j
    @Anthonyfromtheuk-g3j ปีที่แล้ว +2

    ah its crazy internation dude 🎉

  • @besusbb
    @besusbb ปีที่แล้ว +2

    awesome video with clear explanations thank you

  • @orisphera
    @orisphera ปีที่แล้ว +1

    I wonder why they changed that instead of leaving it as it was in upstream

  • @goodygiggles5410
    @goodygiggles5410 ปีที่แล้ว +13

    Did you absolutely have to select the valley girl voice for the narration?

  • @randomdamian
    @randomdamian ปีที่แล้ว +1

    That's why I use Signal and Matrix, and I have any auto download media disabled on my phone.

  • @joseville
    @joseville 3 หลายเดือนก่อน

    10:16 is 0x00 thru 0x8F frame 1 of the gif? But the gif is 8x21 = 168 bytes and 0x00 to 0x8F represents 0x90 bytes, i.e. 9x16 = 144 bytes, right?

  • @stabilini
    @stabilini ปีที่แล้ว

    amazing, it's sooo old school tech movie getting control of a device with a gif... I can't beleive it hahaha

  • @Julianiolo
    @Julianiolo 10 หลายเดือนก่อน +1

    Am I missing something? Reallocing with size 0 should never return the same pointer? (as mentioned in 5:15)

    • @DanielBoctor
      @DanielBoctor  10 หลายเดือนก่อน +1

      I see, sorry for the confusion! To clarify, under regular circumstances in a regular environment, this is absolutely correct, as mentioned @ 4:35.
      It is Android itself that caused the predetermined realloc behaviour, as mentioned @ 5:00 and 5:30.
      The vulnerability is actually 3-fold:
      1. Android OS returning the same memory address twice after a double free
      2. The android-gif-drawable library causing a double free in the first place
      3. WhatsApp double parsing GIFs, enabling any real harm to be caused from the double free
      You would need all three of these conditions to be present for this to be exploitable. The Android behaviour you are pointing out is actually contributing to the exploit (which should NOT be happening).

    • @Julianiolo
      @Julianiolo 9 หลายเดือนก่อน +1

      @@DanielBoctor Sorry, it might be that my question was unclear. As per standard realloc should always return a pointer, that can be passed to free/realloced with size 0.
      That means that, as long as you use the pointer returned by realloc (and don't reuse the pointer you passed to realloc) you could call realloc infinitely often.
      Even with size 0.

    • @Julianiolo
      @Julianiolo 9 หลายเดือนก่อน +1

      @@DanielBoctor ooh, I looked at the commit that it was patched. The problem is, that realloc returning NULL is valid behaviour for size 0 realloc. This however gets interpreted as an error bc of low memory. In that case, the pointer doesn't get updated and will be passed again to realloc the next frame (but it was already freed).

  • @coffinplayz
    @coffinplayz ปีที่แล้ว +1

    Can this exploit work on other messaging application that are not patched yet ? and where i found that gif exploit.

  • @tigheklory
    @tigheklory ปีที่แล้ว +7

    You are saying gif wrong. The Creator has said that it's promised Jif.

  • @ijk8055
    @ijk8055 ปีที่แล้ว +2

    LEMMiNO background music is 🔥

    • @DanielBoctor
      @DanielBoctor  ปีที่แล้ว +1

      I couldn't agree with you more. LEMMiNO is the GOAT.

  • @pete3897
    @pete3897 ปีที่แล้ว +44

    Honest feedback - I can only stand this with captions and sound off. The 'speaking up' intonations are intolerable.

    • @xxMTxxDEWxx
      @xxMTxxDEWxx ปีที่แล้ว +10

      I agree. I couldn't even make it through the video with every sentence sounding like it was a question. Also known as "High rising terminal." I will try your suggestion and just read the captions next time.

    • @DanielBoctor
      @DanielBoctor  ปีที่แล้ว +33

      Thanks for this. It was noted in my previous video as well. I wasn't really conscious of it when I filmed this video - still pretty new to all of this. I'll try and correct this going forward.

    • @pete3897
      @pete3897 ปีที่แล้ว +13

      @@DanielBoctor You do you and don't necessarily try and please the masses dude. I just wanted to give honest feedback :) Your content is good.

    • @nxsmotorsports
      @nxsmotorsports 11 หลายเดือนก่อน +4

      I was very interested in this material but also had to scan the comments to see if anyone else noticed this. Nice to see the creator of the video be thankful for the feedback. Respect.

    • @GoodToGoIndustries
      @GoodToGoIndustries 11 หลายเดือนก่อน +3

      So glad I didn't have to make the comment. I've never came across a male doing this. He must've spent a lot of time with women or something. I don't think people naturally talk this way, they usually pick it up from someone else. What came first, the chicken or the egg. 😂

  • @aaron6807
    @aaron6807 ปีที่แล้ว +1

    But doesn't this exploit require the page where the gif is stored to have code execution access? and it most likely will only have read-write

  • @coladict
    @coladict ปีที่แล้ว +1

    Okay, but isn't toybox something the victim has to already have installed? I mean, most people don't install shells on their android phones.

    • @tacokoneko
      @tacokoneko ปีที่แล้ว +2

      boy i have news for you... Android is literally a Linux distro. It comes with toybox in all versions since Android 6, where it serves the same function that " *GNU coreutils* " does on _most_ other Linux distros. This exploit is technically an exploit in *WhatsApp* and that "android gif library" it uses, which is not used by all apps. Since it's a Java library implemented partly in C, ironically it would be more likely to be used by apps written mostly in Java than apps written mostly in C and C++, which would be more likely to use older, more robustly tested C libraries. Contrary to whatever else you might also have heard, no not all Android apps are 99% Java, many apps are more like 5% Java 95% other stuff.

    • @coladict
      @coladict ปีที่แล้ว

      @@tacokoneko okay, i thought it's some alternative to busybox.

  • @meirbookatz8304
    @meirbookatz8304 11 หลายเดือนก่อน +1

    Wow that is brilliant!

    • @DanielBoctor
      @DanielBoctor  11 หลายเดือนก่อน +1

      I know lol 🤯

  • @bravojr
    @bravojr ปีที่แล้ว +2

    I was instantly taken back to how I exploited Pokemon games back in the day.

  • @JoyZoneTech
    @JoyZoneTech ปีที่แล้ว +1

    Amazing explaination, Thank god its patched now.

  • @stash2823
    @stash2823 11 หลายเดือนก่อน

    Wow i didnt understand anything but it was very informative , thank you

  • @1st_ProCactus
    @1st_ProCactus ปีที่แล้ว +5

    Good video, strange voice.

  • @Subcode
    @Subcode ปีที่แล้ว

    This GIF COULD.. thank you very much...

  • @siddhubhai2508
    @siddhubhai2508 หลายเดือนก่อน +1

    May be assembly coder would be understanding the proper full reason behind this vulnurability 😅

  • @PidPek
    @PidPek ปีที่แล้ว +1

    Cool vid! It's pronounced jif, btw

  • @Poltty
    @Poltty ปีที่แล้ว +1

    11:26 A malicious application installed on the victim's phone is sufficient for RCE

    • @DanielBoctor
      @DanielBoctor  ปีที่แล้ว +2

      Should have went into more detail on this. In this case, the RCE would be within WhatsApp context. One could read files from the WhatsApp sandbox, including the message database, as Awakened mentioned in his original report. A separate application would only have its own perms, making it of little real value. This can almost be thought of as privilege escalation in a way.

  • @michaeldoherty6380
    @michaeldoherty6380 9 หลายเดือนก่อน

    It seems like rather than backdooring ANY Android phone it can only backdoor phones with both WhatsApp AND a second, specifically malicious app already installed?

  • @KaufDirGeld
    @KaufDirGeld ปีที่แล้ว +2

    crazy how the title is a lie.

  • @MultiMunding
    @MultiMunding ปีที่แล้ว +8

    Shouldn't C be reported as one giant security vulnerability by now? 😙😆

    • @sigmamale4147
      @sigmamale4147 ปีที่แล้ว +2

      What is blud smoking

    • @dan-tv1kp
      @dan-tv1kp ปีที่แล้ว

      No new software -- low-power embedded SW notwithstanding -- should be built in C, when Rust exists. That much is certain.

    • @ItsCOMMANDer_
      @ItsCOMMANDer_ 9 หลายเดือนก่อน

      No, because technicly libc is at fault here

  • @Tatar_Piano
    @Tatar_Piano ปีที่แล้ว +1

    What about grapheneos?

    • @DFPercush
      @DFPercush ปีที่แล้ว

      Maybe that's why they needed a hardened memory allocator... I suspect this would not affect it, plus upstream has been updated anyway. Can't say with certainty though.

  • @QuicksilverSG
    @QuicksilverSG 8 หลายเดือนก่อน

    What the hell is an executable function pointer doing in a GIF info structure?

  • @whohan779
    @whohan779 ปีที่แล้ว

    Call me dumb or ignorant but why is it even allowed to have exactly one dimension be 0? Wouldn't you need two integers of at least 1 to even display anything?
    As I understand it this bug would be a non-issue if there's only one possible "aspect ratio" (if you can even call it that for 1-dimension) involving 0.
    The fix could literally be (pseudo-code)
    if(height0);
    assuming we derive a binary (single digit) boolean from the arithmetic operation denoting if the other dimension exists/>0 with either 1 or 0, we can just multiply it (dunno if it's actually faster with the if, otherwise replicate the last line switching height & width).