Nachdem auf Heise vor unsicheren Apps in NC gewarnt wurde und dass man updaten sollte, habe ich zuerst auf Nextcloud geprĂŒft, welche Updates es gibt. OK, ich war noch auf NC27. Also lohnt sich das Update.
Dann habe ich geprĂŒft, ob PHP 8.1 von NC28 akzeptiert wird. Offensichtlich ja, empfohlen wird aber PHP 8.2
Also hĂ€tte doch das Update sauber durchlaufen mĂŒssen. Es lief auch prima durch und alle Checks waren OK. Dann den webbasierten Updater bestĂ€tigt und dann⊠nix mehr. WeiĂer Screen.
Nach lÀngerem Warten versuchte ich, die NC Admin-Seite neu zu laden. Nix. Auch mein Nextcloud Desktop kann sich nicht mehr verbinden.
Ich hatte ja schon Ăhnliches Anfang Dezember erlebt, als ich versehentlich auf NC27 upgedatet habe und dabei noch PHP 7.x laufen hatte. Nicht schoooon wieder!!!
Wie kriege ich meine NC jetzt schnell wieder ans Laufen?
Schwierig bis unmöglich zu sagen ohne weitere Informationen. Was sagt das Log? Welches OS, welche Installationsart (Docker, manuelle Installation, Distro Pakete, ein Skript oder eine Appliance wie z.B. NextcloudPi, Nextcloud AIO, TrueNAS etc⊠etcâŠ).
Besonders heikel ist ein Fehler in der PasswortĂŒberprĂŒfung der App âGlobal Site Selectorâ, die bei gröĂeren Nextcloud-Installationen fĂŒr Lastverteilung sorgt. Die als kritisch eingestufte LĂŒcke (CVE-2024-22212, CVSS 9,6/10) ermöglicht Angreifern, sich als ein anderer Nutzer anzumelden,
Hast du eine globale Site mit Lastverteilung, und/oder hast du andere Nutzer auf deinen Instanzen, die wissen wie man so eine LĂŒcke ausnutzen könnte und die unter keinen UmstĂ€nden deine Daten sehen dĂŒrfen?
Zwei LĂŒcken mittleren Schweregrads mit den CVE-IDs CVE-2024-22402 (CVSS 5,4/10) und CVE-2024-22401 (CVSS 4,1/10) betreffen die App âGuestsâ, in der Nutzer nach Belieben die Liste erlaubter Anwendungen zurĂŒcksetzen und GĂ€ste, fĂŒr die jene Liste hĂ€tte gelten sollen, diese gar komplett aushebeln konnten. Die App-Versionen 2.4.1, 2.5.1 und 3.0.1 beheben beide Fehler.
Nutzt du die App âGuestsâ bzw. hast du sie ĂŒberhaupt installiert und wenn ja, wĂŒrden deine Benutzer und GĂ€ste ânach Belieben die Liste erlaubter Anwendungen zurĂŒcksetzen und GĂ€ste, fĂŒr die jene Liste hĂ€tte gelten sollen, diese gar komplett aushebelnâ, und wĂ€re es ein grösseres Problem, wenn sie dies tĂ€ten?
Ebenfalls mit mittelschweren Auswirkungen mĂŒssen Admins rechnen, die eine verwundbare Version (1.2.0 oder höher) der âFiles ZIPâ-App
Gleiche Frage wie eins weiter oben.
In zwei Schnittstellen zur Anbindung Nextclouds an externe Authentisierungs- und Autorisierungssysteme, nĂ€mlich der APP âUser SAMLâ und der KernfunktionalitĂ€t fĂŒr OAuth2 im Nextcloud-Server, klaffen SicherheitslĂŒcken mit niedrigem Schweregrad. In ersterer App können Angreifer einen offenen Redirect nutzen, um Benutzer zu einer externen Seite umzuleiten (CVE-2024-22400, CVSS 3,1/10, behoben in Version 5.1.5, 5.2.5 und 6.0.1) und im Server sind OAuth2-Autorisierungscodes irrtĂŒmlich unendlich lange gĂŒltig. Nach dem Update auf Nextcloud (Enterprise) Server auf 28.0.0 endet ihre GĂŒltigkeit nun nach 10 Minuten, was CVE-2024-22403 (CVSS 3,0/10) aus der Welt schafft.
Ich nehme an das hat deine Schlussfolgerung auf NC28 aktualisieren zu mĂŒssen verursacht. Frage: Nutzt du SAML oder OAUTH, und wenn ja wĂ€re diese LĂŒcke ein Problem in einer Familiencloud? Oder nutzt du die fĂŒr dein Business und hast jetzt einen weissen Screen, und brauchst schnell Hilfe aus dem Forum?
Und, ich will damit nicht sagen, dass man seine Software nicht aktuell halten soll, im Gegenteil. Aber bevor man âpanischâ auf den Update-Button drĂŒckt, sollte man ĂŒber die Ăberschrift (ok hast du getan ) einer Heise-Meldung (bei Heise hĂ€ufig auch ĂŒber die Meldung selbst ) hinaus lesen und den Maintenance- und Release-Zeitplan der Software kennen, die man einsetzt.
Dies einfach als âkleineâ Zusatzinfo, hat wie gesagt nichts mit deinem eigentlichen Problem zu tun, und ein Update auf NC28 sollte natĂŒrlich unabhĂ€ngig davon möglich sein.
|Nextcloud version 28.0
|Update von 27.1.5.1
|Operating system and version (Debian 5.10.197-1 (2023-09-29)
|Apache or nginx version (eg, Apache 2.4.25): unbekannt
|PHP version (eg, 8.1): 8.1.26
|Database (sqlite or MariaDB or Postgres) |MariaDB -1:10.11.4
|Docker (compose) |was ist das?
|Snap |was ist das?
|Is this the first time youâve seen this error? |Ja
Ja du hast natĂŒrlich Recht, man sollte nicht so einfach updaten, bloĂ weil Heise oder sonst wer was sagt. Ich habe die von dir genannten Apps und Komponenten gar nicht installiert und wĂ€re daher ĂŒberhaupt nicht betroffen gewesen.
Aber das Update wĂ€re ja frĂŒher oder spĂ€ter sowieso nötig gewesen.
Mein Nextcloud-Log ist 70 MB groĂ. Wie soll ich das hier posten? Ich kann es ja noch nicht mal mit irgend einem Editor vernĂŒnftig öffnen!
Die letzten Zeilen des Updater.log zeigen nix AuffÀlliges:
startStep(â12â
finalize()
storage location: /home/www/âŠ
call opcache_reset()
end of finalize()
endStep(â12â)
Was auf Apache oder Nginx zu finden ist⊠keine Ahnung wo ich da suchen mĂŒsste. Das Ganze ist halt auf meinem Webspace gehostet, separat natĂŒrlich von meinen Websites.
Fest steht auch, dass in der config.php âmaintenanceâ => false steht und der loglevel auf 2. Sonst sehe ich da nix AuffĂ€lliges.
GemÀà der Update-Dokumentation habe ich auch schon unter Nextcloud/apps/settings/appinfo die Datei info.xml um die Zeilen ergÀnzt:
Nach mehreren AbstĂŒrzen konnte ich endlich die wichtigste Meldung aus dem nextcloud.log entnehmen. Bei jedem Versuch meiner Clients, die Nextcloud zu erreichen, entstehen folgende Zeilen:
{"reqId":".................................","level":3,"time":"2024-01-18T21:25:25+00:00","remoteAddr":"xxx.yyy.zzz.bbb","user":"--","app":"PHP","method":"GET","url":"/index.php/204","message":"Class OCA\\GroupFolders\\Helper\\LazyFolder contains 2 abstract methods and must therefore be declared abstract or implement the remaining methods (OCP\\Files\\Folder::searchBySystemTag, OCP\\Files\\FileInfo::getMetadata) at /home/www/webseiten/nextcloud/apps/groupfolders/lib/Helper/LazyFolder.php#32","userAgent":"Mozilla/5.0 (Linux) mirall/3.11.0git (Nextcloud, manjaro-6.6.10-1-MANJARO ClientArchitecture: x86_64 OsArchitecture: x86_64)","version":"27.1.5.1","data":{"app":"PHP"}}
Die anscheinend reklamierte PHP-Datei stammt ĂŒbrigens vom 21.12.2023 und wurde also nicht upgedatet.
Hatte ich auch gerade. Der Quelltext der Seite bricht nach ein paar Zeilen ab.
Ăber ssh ins Nextcloud-Verzeichnis, dann als www-data einloggen:
su -s /bin/bash www-data
dann groupfolders deaktivieren: php occ app:disable groupfolders
dann Upgrade durchziehen php occ upgrade
danach sollte es wieder gehen.
Mit ssh bin ich nicht vertraut und vermutlich deshalb konnte ich deinen wertvollen Tipp nicht umsetzen:
Ich habe mich also mit PUTTY via ssh eingeloggt und in das nextcoud-Verzeichnis begeben. Nach Eingabe von
php occ app:disable groupfolders
Erhielt ich die Meldung:
Nextcloud or one of the apps require upgrade - only a limited number of commands are available. You may use your browser or the occ upgrade command to do the upgrade groupfolders 15.3.2 disabled.
su Befehle sind vom Webhoster gesperrt. Wie ich mich als www-data einloggen kann und wo, das ist mir völlig unklar.
Ich habe dann einfach das Upgrade gestartet mit
php occ upgrade
Das startete dann auch einwandfrei. In der Liste der upgedateten apps und Komponenten tauchte âgroupfoldersâ nicht auf. Der abschlieĂende Integrity Check dauerte gefĂŒhlt recht lange.
AnschlieĂend kam die Erfolgsmeldung, sowie MaintenanceMode off und Resetting LogLevel.
Hallo Clemens, freut mich, dass es geklappt hat. Bei gehosteten Seiten ist die Rechteverwaltung anders, ich war in Gedanken bei einem klassischen, eigenen LAMP-Server.
Allgemein ist es eine gute Idee, nur die Apps zu installieren, die wirklich gebraucht werden. GroupFolders macht meist mehr Ărger als Nutzen, denn wenn man wirklich einen der Benutzer ĂŒber GroupFolders synchronisiert, dann wird nach dem Deaktivieren der App jetzt dessen Ordnersynchronisation im Client Fehler werfenâŠ
Extreme Verzögerungen nach dem Upgrade kenne ich von der App âDuplicateFinderâ, die scheint bei jedem Upgrade einmal alles zu durchforsten, vielleicht auch besser auf diese verzichten.