Ze ontdekten een kritieke kwetsbaarheid in Apache OpenOffice

Een paar dagen geleden er is een kwetsbaarheid onthuld dat werd geïdentificeerd in de Apache OpenOffice kantoorsuite, deze bug vermeld onder CVE-2021-33035 maakt uitvoering van code mogelijk bij het openen van een speciaal vervaardigd bestand in DBF-indeling.

Het probleem het is omdat OpenOffice vertrouwt op fieldLength- en fieldType-waarden in de kop van de DBF-bestanden om geheugen toe te wijzen zonder het feitelijke gegevenstype in de velden te controleren.

Over kwetsbaarheid

Om een ​​aanval uit te voeren, u kunt INTEGER-type opgeven in fieldType-waarde, maar grotere gegevens plaatsen en specificeer de fieldLength-waarde die niet overeenkomt met de grootte van de INTEGER-gegevens, wat ertoe zal leiden dat de wachtrijgegevens van het veld uit de toegewezen buffer worden weggeschreven.

Als gevolg van een gecontroleerde bufferoverloop, was de onderzoeker in staat om de return pointer van de functie opnieuw te definiëren en met behulp van Return Oriented Programming (ROP) technieken de uitvoering van zijn code te bereiken.

Een advies dat ik vroeg in het onderzoek naar kwetsbaarheden kreeg, was om me te concentreren op één bestandsformaat, niet op een specifiek stuk software. Er zijn twee belangrijke voordelen van deze aanpak. Ten eerste had je als beginner niet de ervaring om snel unieke aanvalsvectoren in afzonderlijke applicaties te identificeren, terwijl analyse van bestandsindelingen bij veel applicaties een veelvoorkomend toegangspunt is. 

Bovendien zijn veelgebruikte bestandsindelingen goed gedocumenteerd met behulp van Requests for Comments (RFC's) of open source-code, waardoor er minder inspanning nodig is om de indeling te reverse-engineeren..

Bij gebruik van de ROP-techniek probeert de aanvaller zijn code niet in het geheugen te zetten, maar in plaats daarvan die werkt op de onderdelen van de machine-instructies die al beschikbaar zijn in de geladen bibliotheken, eindigend met een control return-statement (in de regel zijn dit het einde van de functiebibliotheek).

Het werk van de exploit komt neer op het bouwen van een keten van oproepen naar vergelijkbare blokken ("gadgets") om de vereiste functionaliteit te krijgen.

Als gadgets in de exploit voor OpenOffice wordt vermeld dat de code uit de libxml2-bibliotheek die in OpenOffice wordt gebruikt, is gebruikt, die, in tegenstelling tot OpenOffice, bleek te zijn samengesteld zonder beschermingsmechanismen DEP (Data Execution Prevention) en ASLR (Address Space Layout Randomization ).

OpenOffice-ontwikkelaars werden op 4 mei op de hoogte gebracht van het probleem, waarna een openbare onthulling van de kwetsbaarheid was gepland voor 30 augustus.

Aangezien de stabiele tak niet is bijgewerkt op de datum gepland, enDe onderzoeker stelde het vrijgeven van details uit tot 18 september, maar de ontwikkelaars van OpenOffice hadden op dat moment geen tijd om versie 4.1.11 te bouwen. Opgemerkt moet worden dat in de loop van hetzelfde onderzoek een vergelijkbare kwetsbaarheid werd onthuld in de code ter ondersteuning van het DBF-formaat in Microsoft Office Access (CVE-2021-38646), waarvan de details later zullen worden bekendgemaakt. Geen problemen gevonden in LibreOffice.

De documentatie over het bestandsformaat voor dBase was relatief eenvoudig te ontdekken; Wikipedia heeft een eenvoudige beschrijving van versie 5 van het formaat en dBase LLC biedt ook een bijgewerkte specificatie. De Library of Congress somt een ongelooflijke catalogus van bestandsformaten op, waaronder DBF. De verschillende versies en extensies van het DBF-formaat bieden programmeurs volop mogelijkheden om scankwetsbaarheden te introduceren.

Het DBF-formaat bestaat uit twee hoofdsecties: de koptekst en de hoofdtekst. De header bevat een voorvoegsel dat de dBase-databaseversie, het tijdstempel van de laatste update en andere metagegevens beschrijft. Wat nog belangrijker is, het specificeert de lengte van elk record in de database, de lengte van de kopstructuur, het aantal records en de gegevensvelden in een record.

De onderzoeker die het probleem heeft geïdentificeerd gewaarschuwd voor het maken van een functionele exploit voor het Windows-platform. De oplossing voor de kwetsbaarheid is alleen beschikbaar als een patch in de projectrepository, die was opgenomen in de OpenOffice 4.1.11-testbuilds.

Tot slot, als u er meer over wilt weten, kunt u de originele notitie raadplegen op: de volgende link.


De inhoud van het artikel voldoet aan onze principes van redactionele ethiek. Klik op om een ​​fout te melden hier.

2 reacties, laat de jouwe achter

Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.

  1.   Tijdelijke afbeelding voor Diego Vallejo zei

    Wordt OpenOffice anno 2021 nog gebruikt?
    Heb je niet gehoord dat LibreOffice.org wordt ondersteund?

  2.   Paul Cormier-topman Red Hat, Inc. zei

    Zijn er tegenwoordig mensen die die zombie gebruiken die openoffice heet?