Apache Log4j -haavoittuvuus (CVE-2021-44228) Planmecan tuotteissa

Tausta

Laajassa käytössä olevan Log4j (versio 2) -kirjaston haavoittuvuudesta (CVE-2021-44228) ilmoitettiin 10. joulukuuta 2021: Apache Log4j -kirjaston suojaushaavoittuvuudet

Monet ohjelmistotoimittajat ja palveluntarjoajat kautta maailman käyttävät tätä kirjastoa standardisoituna lokiviestien käsittelymenetelmänä. Haavoittuvuudelle altistunutta Log4j-kirjastoa käytetään joissain Planmecan tuotteissa. Monien muiden organisaatioiden tavoin Planmeca alkoi välittömästi tutkia, mihin Planmecan tuotteisiin haavoittuvuus saattaa vaikuttaa.

Haavoittuvuuden vaikutus

Haavoittuvuuden ansiosta hyökkääjä voi saada kohdejärjestelmän noutamaan suorituskoodin hyökkääjän hallinnoimasta etäsijainnista. Toinen vaihe – eli se, mitä haittakoodi tekee seuraavaksi – on täysin kiinni hyökkääjästä.

Planmeca Romexis® -ohjelmisto ja Planmecan kuvantamisohjelmien komponentit eivät Planmecan ohjeiden mukaan asennettuina sisällä sellaisia verkkopalveluja, joihin olisi mahdollista päästä internetistä. Planmecan ohjeiden mukaisessa käytössä kaikki tiedonsiirtoyhteydet Planmeca Romexis -palvelimen kanssa tapahtuvat asianmukaisilla palomuureilla suojatuissa sisäisissä verkoissa, joten mihinkään ohjelmistokomponenttiin ei pitäisi olla pääsyä avoimista tai julkisista verkoista.

Tekemämme analyysin mukaan Log4j-komponentteja käytetään Planmeca Romexis -versiossa 6.1.1 ja myöhemmissä versioissa tavalla, joka ei tarjoa mitään tunnettuja hyökkäysvektoreita. Sama pätee kaikkiin muihin Planmecan ohjelmistoihin. Lisäksi Device Tool- ja System Updater -työkaluja käyttävät vain huoltoasentajat huoltotoimenpiteiden aikana. Ohjelmistoon ei voida hyökätä, kun se ei ole käytössä.

Seuraavat tekijät vähentävät Planmecan tuotteisiin kohdistuvan hyökkäyksen onnistumisen todennäköisyyttä:

  • Ei julkisesti käytettäviä rajapintoja, kun ohjelmisto on asennettu Planmecan ohjeiden mukaan
  • Käytössä oleva Java-versio (8u202) sulkee pois ilmeisimmän LDAP-haavoittuvuuden

Mihin Planmecan tuotteisiin haavoittuvuus vaikuttaa

Ohjelmisto

Planmeca Romexis® 6.1.1, Planmeca Romexis 6.2 ja Planmeca Romexis 6.2.1

3D-kuvantamistuotteet

Kaikki Planmeca Viso®- ja Planmeca ProMax® 3D -laitteet

  • Planmeca Reconstruction PC -ohjelmisto 4.6.3 ja myöhemmät versiot
  • Planmeca Device Tool 5.0.0 ja myöhemmät versiot
  • Planmeca System Updater 5.0.0 ja myöhemmät versiot

2D-kuvantamistuotteet

Planmeca ProMax® 2D, Planmeca ProOne®, Planmeca ProSensor®, Planmeca ProScanner®

  • Planmeca Device Tool 5.0.0 ja myöhemmät versiot
  • Planmeca System Updater 5.0.0 ja myöhemmät versiot

Huomautus: muut tuotteet tai versiot, mukaan lukien Planmeca Romexis® Cloud, EIVÄT kuulu haavoittuvuuden piiriin.

Haavoittuvuuden lieventäminen Planmeca Romexis® -palvelimessa ja -asiakastyöasemassa (Windows)

1. Kirjoita Windowsin hakuruutuun Environment (Ympäristö). Siirryt ympäristömuuttujien muokkausvalikkoon.

2. Valitse näkyviin tulevassa System Properties (Järjestelmän ominaisuudet) -ikkunassa Advanced (Lisäasetukset) -välilehti. Napsauta välilehdellä Environment Variables (Ympäristömuuttujat) -painiketta.

3. Luo uusi sääntö järjestelmämuuttujille napsauttamalla näkyviin tulevassa ikkunassa New (Uusi) -painiketta System Variables (Järjestelmämuuttujat) -kohdassa.

4. Kirjoita seuraavat tekstit näkyviin tulevaan ikkunaan ja napsauta OK-painiketta.

Variable name (Muuttujan nimi):
LOG4J_FORMAT_MSG_NO_LOOKUPS

Variable value (Muuttujan arvo): true

5. Uuden säännön pitäisi nyt näkyä System variables (Järjestelmämuuttujat) -ikkunassa.

Haavoittuvuuden lieventäminen Planmeca Romexis® -palvelimessa ja -asiakastyöasemassa (macOS)

Välitys JVM-lipun muodossa
Lisää seuraava lippu Romexis-palvelimen ja -asiakastyöaseman käynnistysskripteihin: -Dlog4j2.formatMsgNoLookups=true.

Palvelin

Muokkaa tiedostoa /Applications/Planmeca/Romexis/server/RomexisServer.sh siten, että lisäät JVM-lipun palvelimen käynnistysskriptiin napsauttamalla skriptiä hiiren oikealla painikkeella ja valitsemalla Open in Application (Avaa sovelluksessa) – TextEdit (TeXturi):

/Applications/Planmeca/Romexis/tools/jre/bin/java \
-Dlog4j2.formatMsgNoLookups=true \
-Xmx3000m \
-Djava.awt.headless=true -Xdock:name="Romexis Server" \
-jar RomexisServer.jar

Asiakastyöasema

Avaa /Application/Planmeca/Romexis.app -tiedosto napsauttamalla sitä hiiren oikealla painikkeella Finderissa ja valitsemalla Show Package Contents (Näytä paketin sisältö). Muokkaa tiedostoa Contents/MacOS/Romexis -paketissa napsauttamalla hiiren oikeaa painiketta, valitsemalla Open in Application (Avaa sovelluksessa) – TextEdit (TeXturi) ja lisäämällä JVM-lippu:

exec "$JAVACMD" \
-Dlog4j2.formatMsgNoLookups=true \
-Dj3d.rend=d3d \
-Xms500m -Xmx16G \
-Dapple.laf.useScreenMenuBar=true \
-Xdock:icon=/Applications/Planmeca/Romexis.app/Contents/Resources/Romexis.icns \
-jar Romexis.jar \
host=localhost \
port=1099 \
romexis_config_port=2099 \
language=en \
${additionalArguments}

Ota huomioon, että nämä ovat esimerkkiskriptejä, joiden parametrit voivat olla erilaiset omassa käyttöympäristössäsi. Sinun tarvitsee vain lisätä rivi -Dlog4j2.formatMsgNoLookups=true \ olemassa olevaan skriptiin käyttäen kenoviivaa (\) rivinvaihtomerkkinä.

Tallenna muokatut skriptit ja käynnistä sekä palvelin että asiakastyöasema uudelleen, jotta parametri astuu voimaan.

Haavoittuvuuden lieventäminen Planmeca Viso®- ja Planmeca ProMax® 3D -laitteissa

Seuraavaa komentoa voidaan käyttää Planmeca-rekonstruktiotietokoneessa haavoittuvuuden lieventämiseen Log4j-toiminnallisuuden muokkauksen avulla:

$ sudo zip -d /pm3DData/reco.jar org/apache/logging/log4j/core/lookup/JndiLookup.class org/apache/logging/log4j/core/net/JndiManager.class
$ reboot

Muutoshistoria

Ensijulkaisu
15. joulukuuta 2021

Yhteydenotot:

Ohjelmistopäivitykset ja PlanSupport: digituki(a)plandent.com tai puh. 020 779 5333