drošība · 5 min · 22.07.2026

Microsoft vienā laidienā ielāpo 17 .NET caurumus — Dependabot par tiem klusē, jo GitHub datubāzē to nav

Microsoft 14. jūlijā izlaida .NET jūlija drošības laidienu ar 17 ielāpiem uzreiz. Labotās versijas ir .NET 10.0.10, 9.0.18 un 8.0.29. Piecas kļūdas slēpjas šifrētā XML apstrādē. Divas ļauj ASP.NET Core lietotnē paaugstināt tiesības caur Negotiate autentifikāciju. Pārējās skar TLS, sertifikātu parsēšanu, HTTP/2, SignalR un konteineru būvēšanu.

Šis laidiens ir atsevišķs no Windows Patch Tuesday. Tas skar .NET izpildvidi, ASP.NET Core un SDK, proti, pašus izstrādātāju rīkus un servera pusi. Aiz laidiena slēpjas otra problēma. Visi 17 apraksti ir publiskoti .NET repozitorijos ar piešķirtiem CVE numuriem, taču neviens no tiem nav nonācis GitHub globālajā ievainojamību datubāzē. Praksē tas nozīmē, ka Dependabot par šīm kļūdām neceļ trauksmi. Labotās NuGet pakotnes jau pastāv, bet automātiskie skeneri tās neredz.

Kas tieši salauzts

Microsoft .NET emuārā uzskaitīti visi 17 CVE numuri no CVE-2026-47300 līdz CVE-2026-57108. Tie sadalās vairākās grupās:

  • Piecas kļūdas EncryptedXml komponentē. Sagatavots šifrēts XML var izraisīt pakalpojuma atteici vai apiet drošības pārbaudi.
  • CVE-2026-47300 un CVE-2026-47303 ASP.NET Core Negotiate apstrādātājā. Kļūda parādās, nolasot lietotāja lomas no LDAP. Tā ļauj celt tiesības.
  • CVE-2026-50524 pārtrauc TLS rokasspiedienu. CVE-2026-50528 apiet SslStream autorizāciju. CVE-2026-57108 nogāž X.509 sertifikātu parsēšanu.
  • CVE-2026-56170 novērtēta kā augstas bīstamības kļūda pakotnē Microsoft.AspNetCore.App.Runtime.
  • Atlikušās skar HTTP/2 atmiņas izsmelšanu, SignalR, SMTP un konteineru attēlu būvēšanu.

Tiesību celšana caur Negotiate nozīmē, ka uzbrucējs ar jau esošu zema līmeņa piekļuvi var iegūt augstākas lomas, ko lietotne nolasa no domēna kataloga. Serverim, kas autentificē lietotājus pret Active Directory caur Kerberos vai NTLM, tā ir tiešā riska zona. Pakalpojuma atteices kļūdas ir mierīgākas, taču TLS rokasspiediena un HTTP/2 atmiņas variantus spēj iedarbināt jebkurš klients no interneta.

Puse kļūdu ir vienā komponentē

Piecas no septiņpadsmit kļūdām attiecas uz vienu un to pašu vietu: EncryptedXml. Šo komponenti izmanto SAML pieteikšanās plūsmās un citā vietā, kur .NET apstrādā šifrētus XML dokumentus. Uzņēmuma Duende komanda, kas uztur IdentityServer, savā apskatā norāda, ka piecas kļūdas dod gan pakalpojuma atteici, gan drošības funkcijas apiešanu, kad .NET apstrādā ienākošu šifrētu XML.

Duende arī uzsver, ka labojumi atrodas .NET izpildvidē zem lietotnes koda. Tas skar plašu loku lietotņu, kuras pašas tieši neko no šā XML nedara. Pietiek, ka lietotne pieņem šifrētu XML no malas.

EncryptedXml stāsts atkārtojas .NET vēsturē. Šifrēta XML apstrāde slēpj daudz malas gadījumu. Uzbrucējam pietiek nosūtīt speciāli veidotu dokumentu, lai izsauktu atteici vai apietu parakstu pārbaudi.

Dependabot par tiem klusē

Parasti .NET izstrādātājs par ievainojamu NuGet pakotni uzzina no Dependabot brīdinājuma. Tas balstās GitHub Advisory Database. Šoreiz saikne pārtrūka. GitHub advisory-database repozitorijā 15. jūlijā reģistrēta problēma #8717: visi 17 apraksti ir publiski .NET repozitorijos ar CVE numuriem un skarto pakotņu versiju diapazoniem, bet globālajā datubāzē to nav ne kā recenzētu, ne kā nerecenzētu.

Rezultātā tie neparādās vietnē github.com/advisories un nerada Dependabot brīdinājumus skartajām NuGet pakotnēm.

GitHub Advisory Database šķiro ierakstus divos stāvokļos. Recenzēti ir tie, ko pārbaudījusi GitHub drošības komanda. Nerecenzēti ienāk automātiski no CVE plūsmas. Šoreiz .NET apraksti nav ne vienā, ne otrā stāvoklī. Bez ieraksta datubāzē neviens NuGet projekts nesaņem brīdinājumu par konkrēto pakotnes versiju, arī ja tā ir tieša atkarība.

Ziņotājs piebilst, ka .NET aprakstu nonākšana šajā datubāzē arī agrāk bijusi nevienmērīga. Kamēr tā nenotiek, komandas, kuras paļaujas tikai uz automātiskajiem skeneriem, var palaist garām visu jūlija paketi. Skenerī būs zaļs, bet servera puse paliks ievainojama.

Ko darīt tagad

Microsoft aktīvu izmantošanu savvaļā nav fiksējusi. Tomēr labojumi jau pieejami un darbi ir vienkārši:

  1. Atjaunini .NET izpildvidi: .NET 10 uz 10.0.10, .NET 9 uz 9.0.18, .NET 8 uz 8.0.29.
  2. Pārbūvē un izvieto konteineru attēlus no ielāpotā bāzes attēla.
  3. Atjaunini CI/CD būvēšanas aģentus, lai tie kompilē ar labotu SDK.

Konteineru pārbūve svarīga tāpēc, ka .NET bāzes attēli iesaiņo izpildvidi sevī. Ja attēls būvēts pirms 14. jūlija, tajā paliek vecā versija, pat kad resursdators jau atjaunināts. Pēc labošanas vērts pārbaudīt, vai lietotne kaut kur pieņem šifrētu XML no neuzticama avota. Tā ir vieta, kur piecas EncryptedXml kļūdas visātrāk parādīsies reālā uzbrukumā.

Duende lietotājiem atsevišķi pakotņu atjauninājumi nav vajadzīgi. Labojumi ienāk kopā ar izpildvidi. Tā kā Dependabot šoreiz klusē, sekot līdzi ielāpiem jāsāk pašam. Pilnu versiju sarakstu Microsoft emuārs uzskaita līdz katram CVE numuram. Ātrākais tests ir palaist “dotnet –list-runtimes” un salīdzināt ar labotajiem numuriem. Ja rādītā versija ir zemāka, sistēma joprojām ievainojama.

Avoti

komentārisaruna

Komentāri

Šim rakstam vēl nav komentāru. Esi pirmais, kurš dalās ar savu viedokli.

Pievieno komentāru

Tavs e-pasts netiks publicēts. Obligātie lauki atzīmēti.

vēl no drošībasaistītie