Reģ. Nr. 40203410806 PVN LV40203410806

Tēma

Pieteikt konsultāciju Pieteikt

03 / 08 Ievainojamības atklāšana

Pirmsautentifikācijas pakalpojuma atteice X-Road parakstu pārbaudē

X-Road Security Server (< 7.8.2)

Reģistrēts X-Road ekosistēmas dalībnieks var nosūtīt nelielu īpaši veidotu ziņojumu, kas piespiež partnera drošības serveri tērēt procesora resursus, atrisinot uzbrucēja kontrolētu paketes paraksta jaucējķēdi (hash chain) – pirms tiek pārbaudīts jebkāds paraksts vai sertifikāts –, izsmeļot ziņojumu apstrādes pavedienu kopu un traucējot datu apmaiņu.

Kritiskums: Vidējs CVSS 6.5 GHSA-rc33-88jw-c5jp 3 min lasīšanai

CVSS bāzes vērtējums 6.5 Vidējs

Katrs vērtējums veidojas no astoņiem vienkāršiem jautājumiem par to, kā uzbrukums darbojas un ko tas jums izmaksā.

Cik grūti to izmantot

Ko uzbrucējs var paveikt

Izvēlieties metriku, lai redzētu, ko tā nozīmē

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

§ 01. Pārskats

X-Road ir atvērtā koda datu apmaiņas slānis, uz kura balstās nacionālās sadarbspējas platformas Igaunijā, Somijā, Islandē un daudzās citās jurisdikcijās. Dalībnieki apmainās ar parakstītiem, laika zīmogotiem ziņojumiem, izmantojot drošības serverus, kas darbojas kā uzticamības robeža starp organizācijas informācijas sistēmām un plašāko ekosistēmu. Lai kvalificēti elektroniskie paraksti paliktu izmaksu ziņā izdevīgi lielos apjomos, X-Road atbalsta paketes parakstus: daudzi ziņojumi tiek parakstīti kopā, un katra atsevišķā ziņojuma piederība paketei tiek pierādīta ar jaucējķēdi, ko saņēmējs atkārtoti iziet un pārbauda.

Šis paziņojums attiecas uz šī mehānisma saņēmēja pusi. Komponents HashChainVerifier modulī common-message atrisina ienākošo paketes paraksta jaucējķēdi bez ciklu noteikšanas, bez dziļuma ierobežojuma, bez kopējā atrisināto soļu skaita ierobežojuma un bez atsevišķu soļu memoizācijas. Tā kā jaucējķēdi pilnībā kontrolē uzbrucējs un tā tiek atrisināta pirms paraksta un sertifikāta pārbaudes, partneri var iedzīt smagā vai neierobežotā skaitļošanā, tā arī neuzrādot derīgu parakstu.

§ 02. Kā tas darbojas

Jaucējķēde ir neliela XML struktūra, kuras soļi atsaucas uz citiem soļiem. Pareizi veidota ķēde ir sekls, aciklisks grafs, kas atrisinās dažos soļos. Taču pārbaudītājs šīm atsaucēm sekoja naivi. Bez memoizācijas solis, uz kuru atsaucas no divām vietām, tiek pārrēķināts katru reizi, kad tas tiek sasniegts; ligzdojot šādas dubultatsauces katrā līmenī, uzbrucējs izveido tikai dažus kilobaitus lielu ķēdi, kuras atrisināšana izvēršas eksponenciāli, tāpēc niecīgs pieprasījums pārvēršas milzīgā procesora darba apjomā.

Otrs, vienkāršāks variants izmanto trūkstošo ciklu noteikšanu: solis, kas atsaucas pats uz sevi (vai veido cilpu ar citu soli), iedzen atrisinātāju neierobežotā rekursijā. Atkarībā no ceļa tas izpaužas vai nu kā faktiski nebeidzams darbs, vai kā neapstrādāta kļūda, kas tiek izmesta no pārbaudes procedūras.

Tieši secība padara to viegli izraisāmu. Jaucējķēdes atrisināšana notiek pirms paraksta un sertifikāta pārbaudes, tāpēc dārgais solis tiek sasniegts ziņojumu apstrādes izpratnē pirms autentifikācijas – uzbrucējam nekad nav jātur derīgs paraksts pār īpaši veidoto ķēdi. Jebkura puse, kas jau reģistrēta X-Road ekosistēmā, kas ir reālistiskais draudu modelis koplietojamai datu apmaiņas infrastruktūrai, var nosūtīt šādu pieprasījumu mērķa drošības serverim.

§ 03. Ietekme

Katrs ļaunprātīgais pieprasījums notur ziņojumu apstrādes pavedienu mērķa drošības serverī, kamēr tas apstrādā īpaši veidoto ķēdi. Pietiek ar nelielu vienlaicīgu vai atkārtotu pieprasījumu skaitu, lai patērētu starpniekservera pavedienu kopu, un tad likumīgie ziņojumi sāk rindoties un pārtrūkst pēc noildzes, un serveris pārstāj virzīt datplūsmu. Rezultāts ir pakalpojumatteice pret datu apmaiņas pakalpojumu – CVSS vektorā tā atspoguļota kā ietekme tikai uz pieejamību (A:H) bez ietekmes uz konfidencialitāti vai integritāti (C:N/I:N).

Nacionālas sadarbspējas vidē skartais komponents ir koplietota atkarība: viens dalībnieks, kas ļaunprātīgi izmanto šo trūkumu, var pasliktināt apmaiņu organizācijām, kuru datplūsma iet caur mērķa drošības serveri vai ir no tā atkarīga. Zemā uzbrukuma sarežģītība un tas, ka nepieciešama tikai parasta dalība ekosistēmā (PR:L), ir tas, kas notur vērtējumu 6.5 līmenī, neraugoties uz ierobežoto ietekmes dimensiju.

§ 04. Skartās un novērstās versijas

Skarti ir visi X-Road drošības servera laidieni pirms 7.8.2. Problēma ir novērsta versijā 7.8.2 un pārnesta uz uzturētajām laidienu līnijām kā 7.7.3 un 7.6.4. Operatoriem vajadzētu jaunināt uz savas līnijas novērsto laidienu.

Labojums ierobežo jaucējķēdes atrisinātāju tā, lai ļaunprātīga ievade vairs nevarētu pārvērsties neierobežotā darbā: ierobežojot pārlūkošanu (dziļumu un kopējo atrisināto soļu skaitu), nosakot ciklus, nevis ar rekursiju ejot tajos iekšā, un novēršot atkārtoto pārrēķinu, kas radīja eksponenciālo uzsprāgšanu. Tas ierobežo jebkuras ienākošās ķēdes pārbaudes izmaksas neatkarīgi no tās formas.

§ 05. Atklāšana

Par problēmu tika ziņots Ziemeļvalstu Sadarbspējas risinājumu institūtam (NIIS) koordinētas atklāšanas ceļā, ko veica OffSeq, un tā ir publicēta kā GitHub drošības paziņojums GHSA-rc33-88jw-c5jp. CVE identifikators netika piešķirts. Atzinība par atklājumu pienākas OffSeq.

§ 06. Atklāšanas hronoloģija

  1. 2026-06-24 Ziņots NIIS koordinētas atklāšanas ietvarā (OffSeq)
  2. 2026 Novērsts X-Road versijās 7.8.2, 7.7.3 un 7.6.4; publicēts konsultatīvais paziņojums

Vai jūsu vidē pastāv līdzīgs risks?

[email protected] +371 2256 5353