CVE-2026-65321: Kritisk SQL-injektion i PyAthena
Kritisk SQL-injektion i Python-biblioteket PyAthena (CVE-2026-65321). Opdatér til version 3.35.4 eller nyere.
Hvad er det?
CVE-2026-65321 er en SQL-injektion, en sårbarhed hvor angribere kan indsætte deres eget databasekode i et system, i Python-biblioteket PyAthena, som bruges til at forbinde til AWS Athena, en tjeneste til at forespørge store datamængder. Fejlen ligger i den funktion, der skal beskytte mod farlige tegn i brugerinput. Funktionen bruger backslash til at maskere anførselstegn, men både Athena og Trino, det underliggende forespørgselssystem, opfatter ikke backslash som et escape-tegn i tekststrenge. Det betyder, at et enkelt anførselstegn i inputtet kan afslutte tekststrengen for tidligt og give angriberen mulighed for at tilføje sin egen SQL-kode. Fejlen findes i funktioner, der bygger DELETE-forespørgsler og CTAS-forespørgsler, som er kommandoer der opretter nye tabeller ud fra et forespørgselsresultat.
Hvem rammer det?
Sårbarheden rammer alle virksomheder, der bruger PyAthena i versioner ældre end 3.35.4 til at tilgå AWS Athena, typisk i datapipelines, BI-løsninger, rapporteringsværktøjer eller interne dashboards, hvor brugerinput sendes videre til databaseforespørgsler. Det gælder både udviklingsteams, der har bygget egne integrationer, og virksomheder, der bruger tredjepartsværktøjer med PyAthena som afhængighed.
Hvad kan ske?
En angriber, der ikke behøver at være logget ind, kan indsætte skadelig SQL-kode gennem et almindeligt inputfelt, for eksempel et søgefelt eller en filterfunktion, der bruger PyAthena til at hente data. Det kan give adgang til at læse data fra andre tabeller end de tilsigtede via UNION SELECT, en teknik til at kombinere resultater fra flere tabeller, slette eller ændre data med DELETE-kommandoer, og oprette nye tabeller med indhold og placering, angriberen selv bestemmer. I praksis kan det betyde læk af kundedata, økonomital eller andre fortrolige oplysninger, samt destruktion af data virksomheden er afhængig af.
Hvor alvorligt er det?
CVSS-scoren er 9,8 ud af 10, hvilket er kritisk. Angrebet kræver ingen login og ingen handling fra en bruger, og det kan udføres over netværket med lav kompleksitet. Konsekvensen rammer fortrolighed, integritet og tilgængelighed i højeste grad, det vil sige, at angriberen kan læse, ændre og slette data. Der er ikke oplyst aktiv udnyttelse i det åbne, men den offentliggjorte beskrivelse er detaljeret nok til, at en angriber kan bygge et angreb ud fra den.
Hvad gør jeg nu?
Sårbarheden lukkes ved at opdatere PyAthena. Følg disse skridt:
- Opdatér PyAthena til version 3.35.4 eller nyere i alle systemer, der bruger biblioteket, herunder interne scripts, datapipelines og tredjepartsværktøjer.
- Gennemgå kode, der bygger DELETE- og CTAS-forespørgsler med brugerinput, og bekræft at parametrene nu formateres korrekt efter opdateringen.
- Tjek logfiler for Athena- og Trino-forespørgsler for usædvanlige forespørgsler med UNION SELECT eller uventede anførselstegn, som kan indikere tidligere udnyttelse.
- Begræns Athena-brugerens rettigheder til kun de tabeller og handlinger, der er nødvendige, så en eventuel udnyttelse har mindre skadevirkning.
- Har I ikke selv udviklerressourcer til at gennemgå integrationerne, bør I inddrage en ekstern sikkerhedsrådgiver til at verificere opdateringen og gennemgå adgangsrettighederne.
Opdatér inden for 48 timer
Vi anbefaler, at I opdaterer PyAthena til version 3.35.4 eller nyere så hurtigt som muligt, da sårbarheden ikke kræver login og kan udnyttes fra internettet. Det er kun forsvarligt at vente, hvis I kan dokumentere, at PyAthena ikke bruges til DELETE- eller CTAS-forespørgsler med brugerinput i jeres systemer. Vi anbefaler samtidig en gennemgang af Athena-brugerens rettigheder som en ekstra sikkerhedsforanstaltning.
Tidslinje
Konkrete eksempler
Rapporteringsdashboard læker kundedata
En dansk detailvirksomhed har bygget et internt dashboard, hvor medarbejdere kan filtrere salgsdata via et søgefelt, som sender input videre til Athena gennem PyAthena. En ekstern person indsætter et anførselstegn og en UNION SELECT-forespørgsel i søgefeltet og får derved adgang til en anden tabel med kundeoplysninger, som ikke var tiltænkt visning i dashboardet.
Ofte stillede spørgsmål
Er vi ramt af denne sårbarhed?
I er ramt, hvis jeres virksomhed bruger PyAthena i version ældre end 3.35.4 til at forespørge AWS Athena, især hvis brugerinput sendes videre til DELETE- eller CTAS-forespørgsler. Tjek jeres afhængighedsliste for Python-projekter, der bruger AWS Athena.
Hvordan finder vi ud af, hvilken version af PyAthena vi bruger?
Kør kommandoen pip show pyathena i det Python-miljø, hvor biblioteket er installeret, eller søg efter pyathena i jeres requirements.txt eller lignende afhængighedsfiler.
Kan vi vente til weekenden med at opdatere?
Vi anbefaler ikke at vente. Sårbarheden kræver ingen login og kan udnyttes over netværket, så risikoen for udnyttelse er til stede fra det øjeblik, sårbarheden er offentliggjort.
Skal vi anmelde noget, hvis vi finder tegn på udnyttelse?
Finder I tegn på, at data er blevet læst, ændret eller slettet uden tilladelse, skal I vurdere, om det udløser anmeldelsespligt til Datatilsynet efter databeskyttelsesreglerne, samt overveje anmeldelse til politiet ved konstateret datalæk eller sabotage.
Rammer sårbarheden også vores tredjepartsværktøjer?
Ja, hvis et værktøj I bruger internt bygger på PyAthena, er det også påvirket. Kontakt leverandøren af værktøjet for at bekræfte, hvilken version af PyAthena de bruger, og om de har opdateret.
CVSS-detaljer
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CWE-svaghedstyper
Original NVD-beskrivelse (engelsk)
PyAthena prior to 3.35.4 contains a sql injection vulnerability that allows unauthenticated attackers to inject arbitrary SQL by exploiting improper quote-escaping in DefaultParameterFormatter.format(), which routes DELETE and CTAS statements to the _escape_hive function that backslash-escapes single quotes rather than doubling them. Because Athena and Trino do not treat backslashes as escape characters inside string literals, attacker-supplied input such as a single quote followed by SQL syntax causes the parser to terminate the string literal prematurely, enabling data exfiltration via UNION SELECT, execution of destructive statements, and attacker-controlled CTAS destination and content.
Referencer & kilder
Eksterne kilder
Brug for hjælp med jeres sikkerhed?
Vi hjælper SMV’er med at omsætte trusler som denne til konkrete handlingsplaner.