Visi rezultāti

Ievainojamības atklāšana

Universāls SQL Server sysadmin konts Jumis grāmatvedības programmā

Jumis / Tildes Jumis operētājsistēmai Windows (< TJ7.0.141.36)

CVE-2026-59105 ir universāls administratora konts, ko OffSeq atklāja Jumis (iepriekš Tildes Jumis) – plaši lietotā Latvijas grāmatvedības programmā. Jumis izveido Microsoft SQL Server pieteikšanos ##Tilde_JumisAdmin##, kurai ir sysadmin servera loma, un atvasina tās paroli deterministiski no SQL servera nosaukuma, apvienojot to ar klientā iekodētām konstantēm. Atvasināšana ir vienāda visās instalācijās, un vienīgais mainīgais ievades parametrs nav slepens, tāpēc ikviens, kas spēj sasniegt Jumis SQL serveri, var aprēķināt paroli un iegūt pilnu kontroli pār visām tajā esošajām klientu grāmatvedības datubāzēm. Jumis Pro SIA to novērsa, sākot no versijas TJ7.0.141.36.

OffSeq

6 min lasīšanai

Kritiskums: KritisksCVSS 9.8CVE-2026-59105

Galvenie fakti

Identifikators
CVE-2026-59105
Klase
Vāju akreditācijas datu izmantošana (CWE-1391, CWE-547)
Kritiskums
Kritisks
CVSS
9.8
Ražotājs
Jumis Pro SIA (iepriekš SIA Tilde)
Skartā versija
Jumis / Tildes Jumis operētājsistēmai Windows (< TJ7.0.141.36)
Novērsts
TJ7.0.141.36 (Jumis 2026. gada jūlija izlaidums); jaunākā publiskošanas brīdī TJ7.0.142.7 (septembra izlaidums)
Koordinē
CERT.LV
Atklāts
2026
Statuss
Novērsts; piešķirts CVE
Loma
Ziņotājs

CVSS bāzes vērtējums

9.8

/ 10Kritisks

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:N/UI:N/S:U/C:H/I:H/A:H

§ 01. Pārskats

Jumis (iepriekš Tildes Jumis) ir Windows grāmatvedības programma, ko lieto Latvijas uzņēmumi. Katra instalācija glabā savu grāmatvedību Microsoft SQL Server instancē, un kopīgās vai vairāku uzņēmumu izvietojumos vairāku klientu datubāzes atrodas vienā un tajā pašā serverī.

OffSeq atklāja, ka Jumis izveido un izmanto SQL Server pieteikšanos ##Tilde_JumisAdmin##, kuras parole nav glabāts noslēpums, bet gan vērtība, ko klients aprēķina pēc pieprasījuma. Aprēķins ir deterministisks: tas ņem SQL servera nosaukumu un apvieno to ar konstantēm, kas iekodētas programmā, un ir vienāds katrā Jumis kopijā. Tā kā šī pieteikšanās ir sysadmin servera lomas dalībniece, ikviens, kas spēj sasniegt serveri un atkārtot aprēķinu, iegūst pilnu administratīvu kontroli pār to un pār visām tajā esošajām klientu grāmatvedības datubāzēm. Tā tiek uzskaitīta kā CVE-2026-59105, koordinē CERT.LV.

§ 02. Konts ##Tilde_JumisAdmin##

Jumis izveido atsevišķu SQL Server pieteikšanos ##Tilde_JumisAdmin## un pievieno to fiksētajai sysadmin servera lomai. Administratīvajām darbībām programma autentificējas kā šī pieteikšanās, nevis izmanto izsaucošā lietotāja Windows identitāti, tāpēc viens un tas pats augsti privileģētais konts pastāv katrā izvietojumā un ir kopīgs uzņēmumiem, kuru datubāzes atrodas šajā serverī.

sysadmin ir augstākais privilēģiju līmenis SQL Server. Sesija ar šo lomu var lasīt un rakstīt katrā instances datubāzē, izveidot un dzēst datubāzes, mainīt pieteikšanās un pārkonfigurēt pašu serveri. Tādējādi kopīgā Jumis izvietojumā viena šāda pieteikšanās aptver visu uzņēmumu grāmatvedības datus.

§ 03. Cēlonis: parole, kas atvasināta no nenoslēpuma

Vājums nav tas, ka pieteikšanās pastāv, bet gan tas, ka tās paroli ikviens var atjaunot. Tā vietā, lai glabātu unikālu, nejaušu noslēpumu katrai instalācijai, Jumis atvasina paroli darbības laikā, sajaucot virkni, kas salikta no SQL servera nosaukuma (@@servername) kopā ar fiksētām konstantēm, kas iestrādātas klienta binārajā failā. Šī procedūra darbojas vienādi katrā instalācijā.

Iekodēta konstante, kas kopīga visās instalācijās, nav noslēpums: tā tiek piegādāta programmatūrā, kura darbojas uz klientu datoriem, un to var atgūt no klienta. Kad konstante ir zināma, vienīgais ievades parametrs, kas instalācijās atšķiras, ir servera nosaukums – un arī servera nosaukums nav slepens (zemāk). Rezultāts ir akreditācijas dati, kuru entropija nāk no vērtības, ko uzbrucējs var iegūt, nevis no katrai instalācijai unikāla noslēpuma. Tāpēc galvenais vājums tiek klasificēts kā CWE-1391 (vāju akreditācijas datu izmantošana) ar CWE-547 (iekodētu, drošībai nozīmīgu konstanšu izmantošana) kā veicinošu faktoru, nevis kā vienkārša glabātas paroles kļūda.

§ 04. Kāpēc vienīgais ievades parametrs nav slepens

Lai atjaunotu paroli, nepieciešamas iekodētās konstantes (atgūstamas no klienta) un SQL servera nosaukums. Servera nosaukums ir nevis konfidenciāls, bet gan noskaidrojams:

  • Instances sufikss ir programmas iekodēts. Jumis veido lokālās instances nosaukumu kā datora nosaukumu plus fiksētu instances sufiksu, tāpēc šī nosaukuma puse ir zināma konstante, nevis katrai vietai unikāls noslēpums.
  • Resursdatora nosaukumu atklāj pati SQL kaudze. To var nolasīt no SQL Server Browser pakalpojuma (UDP 1434), no TDS pirmspieteikšanās atbildes, pieslēdzoties instancei, vai no parastas DNS un NetBIOS nosaukumu izšķiršanas tīklā.

Tātad uzbrucējam, kas spēj sasniegt SQL pakalpojumu, servera nosaukums ir novērojams, un pārējā atvasināšana ir fiksēta. Parole izriet bez minēšanas, un viens pieteikšanās mēģinājums to apstiprina.

§ 05. Validācija

OffSeq apstiprināja atklājumu pret instalētu Jumis 7.0.140 kopiju operētājsistēmā Windows 10, kontrolētā vidē pret sistēmām, ko kontrolē OffSeq; neviena trešās puses sistēma netika skarta.

  • Algoritms pret piegādāto bināro failu. Neatkarīgā atvasināšanas rekonstrukcija tika pārbaudīta pret paša Jumis procedūru, kas ar refleksiju izsaukta no piegādātā Jumis.exe. Dotam servera nosaukumam abas deva vienu un to pašu paroli, apstiprinot, ka rekonstrukcija precīzi atbilst programmai.
  • Autentifikācija kā sysadmin. Izmantojot tikai servera nosaukumu kā ievadi, aprēķinātā parole autentificēja ##Tilde_JumisAdmin## pieteikšanos pret reālu instanci; suser_name() atgrieza ##Tilde_JumisAdmin##, un is_srvrolemember('sysadmin') atgrieza 1.
  • Eskalācija uz operētājsistēmu. Lokālajā servera instalācijā, kas rutīnas darbībā ieslēdz xp_cmdshell, sysadmin sesija spēja izpildīt operētājsistēmas komandas datubāzes serverī, apstiprinot, ka datubāzes kompromitēšana sniedzas līdz koda izpildei uz resursdatora.

Precīzās konstantes, izmantotās servera nosaukumu vērtības un paroļu ģenerēšanas rīki netiek atklāti, kā norādīts iepriekš.

§ 06. Ietekme un nopietnība

Publicētā metrika ir CVSS 3.1 bāzes 9.8 (kritisks) (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H). Vektors ir tīklā sasniedzams, ar zemu sarežģītību, bez privilēģijām un bez lietotāja mijiedarbības: atvasinātā parole pati ir akreditācijas dati, tāpēc iepriekšējs konts nav nepieciešams, un vienīgais mainīgais ievades parametrs ir novērojams tīklā.

Veiksmīga autentifikācija piešķir sysadmin SQL Server instancē. Tas nozīmē lasīšanas piekļuvi katra klienta grāmatvedības datubāzei serverī (konfidencialitāte), spēju mainīt vai viltot virsgrāmatas un maksājumu ierakstus tajās visās (integritāte) un spēju dzēst datubāzes (pieejamība) – katra novērtēta kā augsta. Lokālajā servera instalācijā programma ieslēdz xp_cmdshell, tāpēc tā pati piekļuve pāraug operētājsistēmas komandu izpildē uz mašīnas, kurā glabājas visu klientu dati.

Mainītas tvēruma (S:C) interpretācija sasniegtu 10.0, jo defekts atrodas Jumis klientā, taču pārkāpj SQL servera autoritāti un šķērso no viena uzņēmuma paredzētās datubāzes uz visām klientu datubāzēm un pēc tam uz resursdatora OS. Ziņotā, konservatīvā vērtība ir 9.8.

§ 07. Novēršana

Risinājums ir pārtraukt administratora paroles atvasināšanu no servera nosaukuma. Katrai instalācijai paredzētiem akreditācijas datiem jābūt unikālam, nejauši ģenerētam, augstas entropijas noslēpumam, kas glabāts droši (piemēram, caur Windows DPAPI vai aizsargātu konfigurāciju), nevis vērtībai, ko klienta kods aprēķina no neslepena ievades parametra. Papildus: pārcelt servisa kontu uz Windows autentifikāciju (Integrated Security), nevis kopīgu SQL pieteikšanos ar sysadmin tiesībām, piemērot minimālo privilēģiju principu, lai administratīvās darbības izmanto tikai nepieciešamās lomas, un pārtraukt automātisku xp_cmdshell un OLE Automation ieslēgšanu.

Jumis Pro SIA problēmu novērsa, sākot no versijas TJ7.0.141.36 (Jumis 2026. gada jūlija izlaidums); jaunākā pieejamā publiskošanas brīdī ir TJ7.0.142.7 (septembra izlaidums).

Klientiem jāatjauninās uz TJ7.0.141.36 vai jaunāku. Pēc atjaunināšanas jāpārliecinās, ka ##Tilde_JumisAdmin## vairs nevar piekļūt datubāzēm, kas atjauninātas vismaz uz TJ7.0.141.36: pieteikšanās drīkst saturēt tikai ierobežotu publisku kontu vecajās datubāzēs un nevienu kontu jaunajās. Līdz novērstas versijas izvietošanai ierobežojiet tīkla piekļuvi SQL serverim, lai instanci var sasniegt tikai tie resursdatori, kuriem tas nepieciešams, un uzturiet atjaunojamas grāmatvedības datubāžu rezerves kopijas.

§ 08. Atklāšana un iznākums

Par ievainojamību tika ziņots CERT.LV, izmantojot Latvijas nacionālo koordinētās ievainojamību atklāšanas platformu, 2026. gada 25. jūnijā. CERT.LV uzsāka koordināciju ar ražotāju 29. jūnijā, ražotājs apstiprināja problēmu un sāka risinājuma izstrādi līdz 2026. gada 30. jūlijam, un CVE-2026-59105 tika rezervēts 2026. gada 6. augustā. Koordinācijas gaitā produkts un uzturētājs tika identificēti kā Jumis (iepriekš Tildes Jumis) un Jumis Pro SIA (iepriekš SIA Tilde), un labojums ir pieejams, sākot no versijas TJ7.0.141.36. Atklāšanu koordinē CERT.LV.

Atklājums tiek attiecināts uz Nilu Putniņu (OffSeq Cybersecurity).

§ 09. Atklāšanas hronoloģija

  1. 2026-06-25OffSeq ziņo CERT.LV par iekodēto administratora akreditācijas datu, izmantojot nacionālo koordinētās atklāšanas platformu
  2. 2026-06-29CERT.LV uzsāk koordināciju ar ražotāju
  3. 2026-07-30Ražotājs apstiprina ievainojamību un sāk izstrādāt risinājumu
  4. 2026-08-06Rezervēts CVE-2026-59105
  5. 2026-10-09Ražotājs identificēts kā Jumis Pro SIA (iepriekš SIA Tilde); labojums pieejams, sākot no versijas TJ7.0.141.36

Atsauces

Atzinība

Atklāja un ziņoja Nils Putniņš (OffSeq Cybersecurity); atklāšanu koordinēja CERT.LV, un to novērsa Jumis Pro SIA, sākot no versijas TJ7.0.141.36.

Kā mēs pārbaudītu jūsu vidi

Citi rezultāti

Attālināta koda izpilde OZOLS ERP sistēmā caur pamestu atjaunināšanas domēnu

CVE-2026-22306 ir kritiska attālinātas koda izpildes ievainojamība, ko OffSeq atklāja OZOLS ERP sistēmā. Tās automātiskās atjaunināšanas kanāls ieguva un palaida programmkodu no its2.lv (domēna, ko ražotājs bija ļāvis izbeigties, bet kas joprojām bija iekodēts katrā piegādātajā klientā), pa atklātu HTTP bez paraksta, jaucējsummas vai sertifikāta pārbaudes. whois pieprasījums rādīja, ka domēns ir brīvi reģistrējams, tādēļ ikviens, kas to reģistrēja, varēja izpildīt kodu SQL Server servisa konta kontekstā uz klientu datubāzēm un, izmantojot paša OZOLS atjauninājumu izplatīšanas tabulu, uz katras darbstacijas. OffSeq aizsardzības nolūkā reģistrēja pamesto domēnu, lai novērstu ļaunprātīgu pārņemšanu.

Ievainojamības atklāšana20266 min lasīšanai

Autentifikācijas apiešana ar tukšiem akreditācijas datiem UgCS dronu vadības serverī

CVE-2026-59104 ir autentifikācijas apiešana, ko OffSeq atklāja UgCS – SPH Engineering dronu vadības programmatūrā. Servera HCI protokola pieslēgšanās apstrādātājs tukšus akreditācijas datus interpretē kā "izmantot vienīgo lietotāju", ja lietotāju datubāzē ir tieši viens konts – kas ir noklusējuma viena operatora instalācija. Tā kā pakalpojums pēc noklusējuma klausās uz visām saskarnēm bez TLS, jebkurš uzbrucējs, kas spēj sasniegt TCP portu 3334, iegūst pilnībā autentificētu sesiju bez nevienas akreditācijas datu vienības un pēc tam var izpildīt privileģētas komandas, tostarp dot komandas dronam un augšupielādēt lidojuma maršrutus. SPH Engineering to novērsa UgCS versijā 6.2.

Ievainojamības atklāšana20264 min lasīšanai

Servera avārija CERT.LV rīkā Graphoscope, ja lietotājs atvienojas augšupielādes laikā

OffSeq atklāja pakalpojuma atteices ievainojamību Graphoscope – CERT.LV publicētajā atvērtā koda platformā, kas ļauj no vienas saskarnes veikt vaicājumus daudzos neatkarīgos datu avotos un attēlot to sakarības grafā. Ja lietotājs augšupielādēja indikatoru sarakstu un aizvēra savienojumu pirms apstrādes beigām, serveris dereferencēja nil WebSocket un avarēja, izrakstot visus lietotājus. To droši varēja izraisīt jebkurš pašreģistrēts konts. OffSeq ziņoja par ievainojamību CERT.LV un iesniedza labojumu, ko CERT.LV iekļāva projektā.

Ievainojamības atklāšana20262 min lasīšanai

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

support@offseq.com+371 2256 5353