Kritieke Gitea-fout zorgt ervoor dat niet-geverifieerde aanvallers serverbestanden kunnen lezen via org-modus-markeringen

Een niet-geverifieerde aanvaller kan elk bestand lezen waartoe het serviceaccount toegang heeft Giteahet zelf-gehoste Git-platform, in versies 1.22.1 tot en met 1.27.0. Geen login, geen schrijftoegang tot de repository. Een openbare opslagplaats en een opmaak in de Org-modus zijn voldoende. De fout is opgelost in Gitea 1.27.1.

De fout bij het lezen van bestanden wordt bijgehouden als CVE-2026-59774beoordeelde Critical met een CVSS-score van 9,8 en ontving op 2 augustus formeel advies. Gitea 1.27.1 patcht ook CVE-2026-60004een afzonderlijke bug bij het uitvoeren van externe code die werd behandeld in een eerder THN-rapport.

Gitea zei dat Cloud-instanties automatisch zouden worden geüpgraded tijdens de onderhoudsperiode van de release. Zelf-hostende beheerders moeten onmiddellijk overstappen naar 1.27.1.

De bug bij het lezen van bestanden is niet de directe uitvoering van externe code met één verzoek. Gitea zegt dat het een opdrachtuitvoering kan worden als een aanvaller leest app.iniuittreksels INTERNAL_TOKENinjecteert een Git-hook via de interne logger en activeert die hook tijdens een anonieme kloon.

Die keten staat beschreven in het advies van Gitea; The Hacker News vond geen onafhankelijk gepubliceerde exploit die dit aantoonde.

Upgraden is noodzakelijk, maar is mogelijk niet voldoende na vermoedelijke blootstelling. Als uit logboeken blijkt dat het markup-eindpunt is bereikt op een getroffen build, behandel dan de inloggegevens die door het Gitea-serviceaccount kunnen worden gelezen als openbaar en roteer het interne token, het OAuth-materiaal, het JWT-ondertekeningsmateriaal en de databasereferenties voordat u de instantie als schoon beschouwt.

Geen badge vereist

Het bestand-leespad loopt door Gitea’s eindpunt voor het renderen van markeringen, POST /{owner}/{repo}/markup. De route maakt optioneel inloggen mogelijk, lost de repository op en controleert de toegang van de lezer. Een anoniem verzoek wist de controle op elke openbare repository waarvan de code-eenheid is ingeschakeld. Deze voorwaarde beperkt de niet-geverifieerde blootstelling: een instantie zonder openbare opslagplaatsen heeft geen anoniem aanvalspad via dit eindpunt.

De pauze zit in de renderer Org-modus van Gitea. Gitea 1.27.0 geïnitialiseerd go-org met org.New() en heeft de standaardinstelling van de bibliotheek niet vervangen ReadFile terugbellen. In go-org 1.9.1, dat terugbellen is ioutil.ReadFile. Org-modi #+INCLUDE richtlijn accepteert absolute paden en geeft deze door aan de callback. Een aanvaller verzendt markeringen in de Org-modus, selecteert Mode: fileen ontvangt bestanden die het serviceaccount kan lezen.

De oplossing kwam terecht in PR #38642 en werd gebackporteerd in PR #38645. Gitea heeft nu voorrang ReadFile dus een include-pad in de Org-modus wordt geretourneerd als gewone weergegeven inhoud in plaats van te worden opgelost vanaf het serverbestandssysteem. De patch heeft een regressietest toegevoegd voor het renderen van include-paden.

CVE-2026-59774 werd gevonden door XBOW Security, een autonoom offensief beveiligingssysteem, en beoordeeld door Guido Leo. Shai Rod, online bekend als NightRang3r, rapporteerde onafhankelijk hetzelfde probleem.

Wat beheerders moeten controleren

Gitea heeft geen formele detectierichtlijnen gepubliceerd in het advies. Anoniem beoordelen POST verzoeken aan /{owner}/{repo}/markupvooral verzoeken om weergave in de Org-modus of het indienen van absolute bestandssysteempaden. Als geprobeerd is het escalatiepad van het advies te gebruiken, controleer dan de hook-mappen van de repository op onverwachte uitvoerbare bestanden.

Gitea’s advies meldt geen uitbuiting in het wild, en vanaf 5 augustus 2026 was CVE-2026-59774 niet verschenen in CISA’s Known Exploited Vulnerabilities-catalogus. Volgens een eerder THN-rapport werd de bestandleesprimitief publiekelijk bekeken vóór het formele advies. De token-to-hook commando-uitvoeringsketen blijft volgens het advies van Gitea afkomstig uit één bron.

De fout volgt op een intensief traject van Gitea-beveiligingswerkzaamheden. In juni heeft Gitea een cruciale bypass voor reverse-proxy-authenticatie in Docker-images gepatcht, CVE-2026-20896dat dreigingsactoren 13 dagen na de openbaarmaking werden geobserveerd. In mei ontstond er een fout in de toegangscontrole van het containerregister, CVE-2026-27771zou naar schatting gevolgen hebben voor meer dan 30.000 implementaties in meer dan 30 landen.

Thijs Van der Does