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

Поделиться
HTML-код
  • Опубликовано: 24 ноя 2024

Комментарии • 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

  • @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

  • @springier6869
    @springier6869 Год назад +5

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

  • @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

  • @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.

  • @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.♥

  • @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

  • @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.

  • @JustAnotherAlchemist
    @JustAnotherAlchemist Год назад +3

    ROP is certainly a fun way to program.

  • @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

  • @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

  • @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.

  • @ahndeux
    @ahndeux Год назад +2

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

  • @XeZrunner
    @XeZrunner Год назад +3

    Nicely explained!

  • @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 RUclipsr (lemmino's cicaida) in another RUclipsr'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.

  • @tossancuyota7848
    @tossancuyota7848 Год назад +1

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

  • @user-ro1cc8tz6d
    @user-ro1cc8tz6d Год назад +2

    great and clear explanation

  • @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.)

  • @pabloenriquegorga4222
    @pabloenriquegorga4222 Год назад +2

    great video ! thanks for it !

  • @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.

  • @bravojr
    @bravojr Год назад +2

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

  • @meirbookatz8304
    @meirbookatz8304 11 месяцев назад +1

    Wow that is brilliant!

  • @JoyZoneTech
    @JoyZoneTech Год назад +1

    Amazing explaination, Thank god its patched now.

  • @1st_ProCactus
    @1st_ProCactus Год назад +5

    Good video, strange voice.

  • @stash2823
    @stash2823 11 месяцев назад

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

  • @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 😅

  • @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.

  • @PidPek
    @PidPek Год назад +1

    Cool vid! It's pronounced jif, btw

  • @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).