{
  "version": "https://jsonfeed.org/version/1.1",
  "title": "Kuore Lab — Teknoblogi",
  "home_page_url": "https://kuorelab.fi/blog/fi/",
  "feed_url": "https://kuorelab.fi/blog/fi/feed.json",
  "description": "Kuore Labin tiimi kirjoittaa aika ajoin teknisistä ongelmista, tietoturvasta ja selvittämistään kysymyksistä.",
  "language": "fi",
  "items": [
    {
      "id": "https://kuorelab.fi/blog/2026-10-critical-vulnerabilities/fi/",
      "url": "https://kuorelab.fi/blog/2026-10-critical-vulnerabilities/fi/",
      "title": "Kiireinen lokakuu ohjelmistojen tietoturvassa: kriittisiä haavoittuvuuksia PHP:ssä, GitLabissa, Node.js:ssä ja Symfonyssä",
      "summary": "Lokakuun 15.–23. päivänä PHP:hen, GitLabiin, Node.js:ään ja Symfonyyn julkaistiin korjauksia kriittisiin haavoittuvuuksiin. Kaksi haavoittuvuuksista oli niin vakavia, että Suomessa suljettiin väliaikaisesti valtionhallinnon verkkosivustoja. Kerromme, mitä tapahtui ja millaista ratkaisua kehitämme pysyäksemme uusien uhkien tasalla.",
      "date_published": "2026-10-24T00:00:00+00:00",
      "author": {
        "name": "Kuore Lab"
      },
      "content_html": "<h2>Muutama sana tästä blogista</h2>\n<p>Työssämme tulee jatkuvasti vastaan teknisiä ongelmia, tietoturvakysymyksiä ja ohjelmistojen yllättävää toimintaa. Osa havainnoista voi kiinnostaa muitakin.</p>\n<p>Päätimme kirjoittaa niistä tänne silloin tällöin. Ei mitään turhan virallista — kerromme, mitä olemme selvittäneet, mitä olemme oppineet ja mitkä tekniset yksityiskohdat ansaitsevat mielestämme tulla jaetuiksi.</p>\n<p>Ensimmäisessä kirjoituksessamme tarkastelemme useita vakavia tietoturvahaavoittuvuuksia, jotka tulivat julki lokakuussa 2026.</p>\n\n<h2>Yksi viikko, useita kriittisiä haavoittuvuuksia</h2>\n<p>Lokakuun 15.–23. päivänä useisiin laajalti käytettyihin ohjelmistoihin julkaistiin korjauksia kriittisten haavoittuvuuksien vuoksi.</p>\n<div class=\"kl-table-scroll\">\n<table>\n  <thead>\n    <tr><th>Ohjelmisto</th><th>CVE</th><th>Vaikutus</th><th>CVSS</th></tr>\n  </thead>\n  <tbody>\n    <tr><td>PHP</td><td>CVE-2026-109618, 109619</td><td>Etäkoodin suoritus</td><td>9.2</td></tr>\n    <tr><td>GitLab / Onigmo</td><td>CVE-2026-89078, 93577, 97229, 110264</td><td>Etäkoodin suoritus</td><td>Jopa 10.0</td></tr>\n    <tr><td>Node.js</td><td>CVE-2026-111497</td><td>Muistin korruptio / RCE</td><td>9.2</td></tr>\n    <tr><td>Symfony</td><td>CVE-2026-108082</td><td>Palvelunesto</td><td>8.7</td></tr>\n  </tbody>\n</table>\n</div>\n\n<h3>PHP: niin vakavia haavoittuvuuksia, että viranomaissivustoja suljettiin varotoimena</h3>\n<p>Kaksi PHP:n haavoittuvuutta, jotka tunnettiin yhteisnimellä <em>PHP2Shell</em>, saattoivat mahdollistaa koodin suorittamisen etänä ilman tunnistautumista.</p>\n<p>Ongelmat liittyivät muistin vioittumiseen ja globaalin tilan virheelliseen käsittelyyn. Korjaukset julkaistiin 21. lokakuuta versioissa PHP 8.5.12, 8.4.27, 8.3.36 ja 8.2.35.</p>\n<p>Mahdolliset seuraukset olivat niin vakavia, että Suomen valtionhallinnon ICT-palvelukeskus Valtori rajoitti väliaikaisesti pääsyä useisiin julkisiin palveluihin varotoimena. Vastaavista toimista raportoitiin muissakin Euroopan maissa.</p>\n<p>Sivustojen sulkemisen taustalla ei ollut vahvistettua tietomurtoa. Viranomaiset eivät halunneet ottaa riskiä.</p>\n<p class=\"kl-sources\"><a href=\"https://www.rapid7.com/blog/post/etr-cve-2026-109618-and-cve-2026-109619-critical-unauthenticated-remote-code-execution-in-php/\" rel=\"noopener\">Rapid7-analyysi</a> · <a href=\"https://yle.fi/a/74-20252600\" rel=\"noopener\">Yle</a></p>\n\n<h3>GitLab: haavoittuvuuksia kahdentoista vuoden ikäisessä koodissa</h3>\n<p>Neljä GitLabissa havaittua haavoittuvuutta juontui Onigmo-säännöllisten lausekkeiden moottorista, jota Ruby käyttää.</p>\n<p>Viat liittyivät muistinhallinnan ongelmiin ja kokonaislukujen ylivuotoihin. Tietyissä olosuhteissa tarkoituksella muotoiltu syöte voi laukaista etäkoodin suorituksen.</p>\n<p>Kahden haavoittuvuuden CVSS-arvoksi ilmoitettiin 10.0 eli asteikon maksimi. Niiden hyödyntämisen ei kerrottu edellyttävän tunnistautumista.</p>\n<p>Ehkä yllättävin yksityiskohta on, että haavoittuvan koodin kerrotaan olevan peräisin GitLab 7.0:sta, joka julkaistiin vuonna 2014.</p>\n<p>Ensimmäinen korjaus osoittautui puutteelliseksi, joten lokakuussa tarvittiin vielä uusi korjauskierros.</p>\n<p>Ruby julkaisi korjaukset 23. lokakuuta, ja niitä seurasivat päivitetyt GitLab-paketit.</p>\n<p class=\"kl-sources\"><a href=\"https://thehackernews.com/2026/10/ruby-fixes-three-regex-engine-bugs.html\" rel=\"noopener\">The Hacker News</a> · <a href=\"https://lilting.ch/en/articles/ruby-regexp-onigmo-fixes-gitlab-cves\" rel=\"noopener\">Tekninen analyysi</a></p>\n\n<h3>Node.js: vakava virhe pakatun datan purussa</h3>\n<p>CVE-2026-111497, lempinimeltään <em>Node2Shell</em>, koskee Node.js:n mukana tulevaa Brotli-purkajaa.</p>\n<p>Virheellisesti muotoiltu pakattu tietovirta voi johtaa kirjoittamiseen varatun muistialueen ulkopuolelle ja johtaa mahdollisesti etäkoodin suoritukseen.</p>\n<p>Koska Brotlia käytetään laajalti HTTP-pakkauksessa, sovellukset, jotka käsittelevät epäluotettua pakattua sisältöä, voivat olla haavoittuvia.</p>\n<p>Ongelma korjattiin versioissa Node.js 22.23.4, 24.22.1 ja 26.12.1.</p>\n<p class=\"kl-sources\"><a href=\"https://nodejs.org/en/blog/vulnerability/october-2026-security-releases\" rel=\"noopener\">Node.js:n tietoturvatiedote</a></p>\n\n<h3>Symfony: välilyönneillä voi kuormittaa palvelinta</h3>\n<p>CVE-2026-108082 on säännöllisten lausekkeiden käsittelyyn liittyvä palvelunestohaavoittuvuus Symfonyn HttpFoundation-komponentissa.</p>\n<p>Pitkiä välilyöntijonoja sisältävä, tarkoituksella muotoiltu HTTP-otsake voi johtaa säännöllisen lausekkeen poikkeuksellisen raskaaseen takaisinjäljitykseen (backtracking) ja kuluttaa runsaasti prosessoriaikaa.</p>\n<p>Hyökkääjä voi toistuvilla pyynnöillä lamauttaa sovelluksen ilman tunnistautumista.</p>\n<p>Haavoittuvuus sai CVSS-pistemäärän 8.7, ja se korjattiin versioissa Symfony 5.4.54, 6.4.46, 7.4.19 ja 8.1.7.</p>\n<p class=\"kl-sources\"><a href=\"https://app.opencve.io/cve/CVE-2026-108082\" rel=\"noopener\">CVE:n tiedot</a></p>\n\n<h2>Muutama ajatus</h2>\n<p>Huomiomme kiinnittyi haavoittuvuuksien vakavuuden lisäksi siihen, kuinka arkisista asioista ne johtuivat: muistinkäsittelystä, syötteiden jäsentämisestä, säännöllisistä lausekkeista ja pakatun datan purkamisesta.</p>\n<p>Osa vioista oli ilmeisesti pysynyt huomaamatta vuosien kehitystyön ja lukuisten ohjelmistoversioiden ajan.</p>\n<p>On myös hyvä muistaa, ettei oman sovelluskoodin päivittäminen riitä, jos haavoittuvuus on jossakin sen käyttämässä riippuvuudessa.</p>\n\n<h2>Mitä aiomme tehdä asialle?</h2>\n<p>Tätä kaikkea seuratessamme tulimme yksinkertaiseen johtopäätökseen: uusien haavoittuvuuksien seuraaminen ja niiden vaikutusten tarkistaminen käsin ei ole pitkällä aikavälillä järkevä ratkaisu.</p>\n<p>Niinpä olemme päättäneet rakentaa itsellemme robotin.</p>\n<p>Robotti seuraisi jatkuvasti haavoittuvuustietokantoja ja tietoturvatiedotteita, tunnistaisi käyttämäämme teknologiaan mahdollisesti vaikuttavat uudet haavoittuvuudet ja käynnistäisi sitten koodimme automaattisesti eristetyissä testiympäristöissä eli hiekkalaatikkokonteissa tarvittavine riippuvuuksineen ja asetuksineen.</p>\n<p>Näissä ympäristöissä se suorittaisi tietoturvaskannauksia ja testejä mahdollisten haavoittuvuuksien löytämiseksi — jatkuvasti, ei vain silloin, kun joku muistaa tarkistaa tilanteen.</p>\n<p>Automaattinen skannaus ei tietenkään löydä kaikkea. Silti tarkistukset kannattaa mielestämme antaa robotin tehtäväksi sen sijaan, että luottaisimme pelkästään käsin tehtäviin tarkistuksiin ja ajoittaisiin tietoturva-auditointeihin.</p>\n<p>Se on joka tapauksessa suunnitelma. Kerromme lisää projektin edetessä.</p>\n<p class=\"kl-cta\"><strong>Haluaisitko samanlaisen ratkaisun omille ohjelmistoillesi? Voimme rakentaa sen myös sinulle. <a href=\"/fi/#contacts\">Ota yhteyttä.</a></strong></p>\n\n<hr>\n<p class=\"kl-post-foot\"><em>Perustuu julkisesti saatavilla oleviin tietoturvatiedotteisiin ja teknisiin raportteihin 24. lokakuuta 2026 mennessä.</em></p>"
    }
  ]
}
