WhatsApp brengt update uit voor twee kritieke kwetsbaarheden

WhatsApp meldt dat het twee patches heeft uitgebracht om twee kritieke kwetsbaarheden in zowel de Android- als iOS-app te dichten. Het gaat om twee verschillende kwetsbaarheden, waarmee het mogelijk was om voor externen op afstand eigen code uit te voeren op een smartphone.

WhatsApp heeft de kwetsbaarheden zelf bekendgemaakt, nadat ze intern zijn ontdekt door medewerkers van het bedrijf. Een woordvoerder verklaart tegenover Techcrunch dat er geen aanwijzingen zijn om aan te nemen dat een van de kwetsbaarheden ook actief is misbruikt. Voor beide kwetsbaarheden heeft WhatsApp een patch uitgebracht.

De eerste kwetsbaarheid heeft volgnummer CVE-2022-36934 gekregen. Het gaat om een integer overflow die kan voorkomen tijdens een videogesprek. De kwetsbaarheid was aanwezig in de versie van WhatsApp op Android en iOS in de versie 2.22.16.12 en alle versies voor 2.22.16.12.

De tweede kwetsbaarheid betreft een integer underflow en heeft volgnummer CVE-2022-27492. Via deze kwetsbaarheid kon code op afstand worden uitgevoerd op een smartphone via een videobestand. De kwetsbaarheid op iOS zit in de versies ouder dan 2.22.15.9. Op Android gaat het om versies ouder dan 2.22.16.2.

Door Robert Zomers

Redacteur

27-09-2022 • 17:51

16

Submitter: GRV

Reacties (16)

Sorteer op:

Weergave:

Opvallend is het versienummer verschil in de iOS App Store (22.x.x) versus wat je in whatsapp zelf onder Instellingen > Help (bovenin het scherm, 2.22.x.x) ziet, op het eerste getal (22 vs. 2.22).

Het gaat blijkbaar dus om wat er aan versienummers achter die 2.22 volgt, waar ik op dit moment al versies van (2.)22.19.xx zie, dus al veel nieuwer dan de versienummers die worden genoemd.
Betreft volgens mij inderdaad een update van zo'n twee maanden terug. Maar ook logisch dat ze het niet direct bekendmaken op de dag dat ze het uitbrengen: gebruikers moeten wel eerst even updaten voor je de aandacht op zo'n kwetsbaarheid in een oudere versie aan de grote klok hangt. En voordat het grootste deel de update heeft geïnstalleerd ben je zo weken verder.
Edit: Artikel is inmiddels aangepast

[Reactie gewijzigd door moonlander op 22 juli 2024 18:49]

Er moet integer overflow staan.

Dat is een bekende kwetsbaarheid in computers: in een 32-bit getal passen maar een beperkt aantal cijfers. Zodra je op het maximale zit en dan +1 doet, dan gaat hij door naar het allerlaagste getal. Een beetje zoals een analoge meter zou doen als hij op [9][9][9][9] staat en dan nog één kilometer rijdt.

Dit levert veel problemen op als je er geen rekening mee houdt in je code en kan leiden tot beveiligingsproblemen.

En een underflow is hetzelfde, maar dan de andere kant op. :)

[Reactie gewijzigd door ApexAlpha op 22 juli 2024 18:49]

Beetje mierenneuken, maar...
Zodra je op het maximale zit en dan +1 doet, dan gaat hij door naar het allerlaagste getal
Klopt niet helemaal. Integer overflows/underflows zijn, vooral als we het hebben over C/C++ programma's, undefined behavior. Dit betekend dat er van alles kan gebeuren, inderdaad van positief naar negatief en andersom. Maar ook time travel: https://stackoverflow.com/a/39915175 :+

[Reactie gewijzigd door Jerryy op 22 juli 2024 18:49]

Alleen voor signed int. Niet voor unsigned. Zie ook: https://en.wikipedia.org/wiki/Integer_overflow
Klopt! Ik dacht eerst dat unsigned ook undefined is, maar dit is gewoon netjes well defined.

[Reactie gewijzigd door Jerryy op 22 juli 2024 18:49]

Als ik zo lees op de site van WhatsApp zowel integer overflow als integer underflow, dus het omgekeerde kon ook voorkomen. Belangrijkste is in ieder geval dat het kon leiden tot een remote code execution.

Het NCSC heeft zo te zien trouwens besloten om de kwetsbaarheden als medium in te schalen qua risico en schade. De kwetsbare versies zijn namelijk waarschijnlijk al een paar maanden oud.
Ja en de remote code draait natuurlijk nog wel in de sandbox van Whatsapp zelf.. Er zijn nog meer exploits nodig om de hele telefoon over te nemen.
Ja maar dan kun je wel WhatsApp al uitlezen, wat voor de meeste mensen zowat al hun communicatie bevat. Daarnaast heeft Whatsapp vaak standaard veel permissies om bijvoorbeeld foto's te bekijken of je locatie te peilen omdat dat ook WhatsApp functies zijn.
Dat moest er inderdaad staan. Ik heb de tekst aangepast.
Integer underflow. Dat is nieuw voor mij. Een floating point underflow, dat ken ik wel (zie ook https://en.wikipedia.org/wiki/Arithmetic_underflow en https://en.wikipedia.org/wiki/Integer_overflow). Juist bij integers is een overflow (in C/C++) vrij nauwkeurig gespecificeerd. Je krijgt gewoon een teken wisseling. Shift left en shift right zijn allemaal defined...

Nu is een overflow (of whatever ding) dat een exceptie veroorzaakt niet handig, maar om zoiets direct uit te buiten lijkt me nog geen eenvoudige klus. Maar goed, het nieuwsartikel is er en de werkelijke impact zal waarschijnlijk veel lastiger (of nooit bekend voor de buitenwereld) te bepalen zijn.
En dan geen interger, maar integer.
Ik vermoed dat de 'underflow' hier ook een overflow betekent (omdat dit als wrap of wrap around ia gespecificeerd).

Een underflow komt voor als je een floating point nummer naar Infinity 'underflowed' omdat de daadwerkelijke waarde niet gerepresenteerd kan worden.
Volgens whatsapp gaat het hier om een "integer overflow"
Ja wellicht, maar het staat er niet. Vandaar de vraag.

Op dit item kan niet meer gereageerd worden.