Docs

Upstream-CVE-Status (ownCloud 10.16.x)

Maintained by BW-Tech GmbH. Stand: 4. August 2026.

Dieses Dokument beantwortet die Frage, ob die Fixes der ownCloud-Server-Releases 10.16.0 bis 10.16.3 (inklusive der CVE-Fixes) in owncloud.online 11.0.2 enthalten sind. Es dient als technische Bestätigung für Kunden- und Partneranfragen.

Fork-Basis

owncloud.online wurde nicht bei ownCloud 10.15.3 geforkt. Die Code-Basis entspricht dem upstream owncloud/core master-Stand vom 17. Februar 2026 (Commit 8b013714aa8). Dieser Stand liegt nach der Substanz der Releases 10.16.0, 10.16.1 und 10.16.2. Per git merge-base --is-ancestor ist belegt, dass sämtliche Fix-Commits dieser Releases Vorfahren unseres main sind.

Status je Release

10.16.0 und 10.16.1 — vollständig enthalten (Fork-Basis)

Upstream-Fix Status
Härtung der Remote-Service-Auflösung (10.16.0) enthalten (Fork-Basis)
SVG-Sanitization vor ImageMagick (#41433) enthalten (291d80a0597)
Federation-Token-Exchange: keine leeren Tokens (#41434) enthalten (6eb8a90b010)
PHP-Dependency-Updates enthalten bzw. durch neuere Versionen ersetzt

10.16.2 — vollständig abgedeckt

Enthielt ausschließlich Dependency-Updates (u. a. phpseclib 3.0.50). owncloud.online liefert phpseclib 3.0.52 aus — neuer als 10.16.2.

10.16.3 — vollständig nachgezogen am 11.06.2026

Upstream-Fix CVE Status in owncloud.online
symfony/routing 5.4.52 CVE-2026-45065 behoben: wir liefern 7.4.13 (Fix-Versionen: 5.4.52 / 6.4.40 / 7.4.12+); 7.4.13 schließt zusätzlich CVE-2026-48784
phpseclib 3.0.52 CVE-2026-40194 bereits enthalten (exakt die Fix-Version)
IDOR in WebDAV-Comments-API (#41558) — (OC10-intern) backported (71b7d261e6c, cherry-pick von 7d7aabb992d)
AppConfigController-Reads nur für Voll-Admins, OC10-75 (#41550) — (OC10-intern) backported (b60916e3b81, cherry-pick von b5673841a8f)
Korrekte User-ID bei E-Mail-Änderung (#41539) backported (188b8508b36) plus Folge-Fix #41574 (d7cdf19f674)
Storage-Backend identifier alias (#41538) backported (64a710fe128)

Zusätzlich behoben (über 10.16.3 hinaus)

composer audit meldete drei weitere Advisories, die upstream OC10 über die Symfony-5.4.52-Bumps abdeckt und die wir auf unseren neueren Zweigen nachgezogen haben:

CVE Komponente Severity Status
CVE-2026-45067 symfony/mime (CRLF/SMTP-Command-Injection) high behoben: mime 8.0.13
CVE-2026-45070 symfony/mime (Header-Injection) medium behoben: mime 8.0.13
CVE-2026-45068 symfony/mailer (Argument-Injection Sendmail) medium behoben: mailer 7.4.12
CVE-2026-48784 symfony/routing (UrlGenerator-Encoding) behoben: routing 7.4.13

composer audit war nach dem 11.06.2026 zunächst ohne Befund; am 16.–18.06.2026 neu veröffentlichte Dependency-Advisories siehe folgende Sektion.

Neue Dependency-Advisories — 22.06.2026 nachgezogen

Nach dem 11.06. neu veröffentlichte Advisories (Reported 16.–18.06.2026), per composer audit erkannt und durch Patch-Bumps innerhalb der bestehenden Constraints (guzzle ^7.10, phpseclib ^3.0, psr7 transitiv) geschlossen:

CVE Komponente Severity Status in owncloud.online
CVE-2026-55767 guzzlehttp/guzzle (Dot-only Cookie-Domain matcht alle Hosts) medium behoben: guzzle 7.12.2 (Fix ab 7.12.1)
CVE-2026-55568 guzzlehttp/guzzle (stiller HTTPS-Proxy-Downgrade auf Cleartext) medium behoben: guzzle 7.12.2
CVE-2026-55766 guzzlehttp/psr7 (CRLF-Injection in HTTP-Start-Line) medium behoben: psr7 2.12.2 (Fix ab 2.12.1)
GHSA-m557-wrgg-6rp4 phpseclib/phpseclib (X.509-AIA SSRF, ohne CVE-ID) medium behoben: phpseclib 3.0.55 (Fix ab 3.0.54)

composer audit ist seit dem 22.06.2026 wieder ohne Befund; ein blockierender CI-Job (composer audit --locked) sichert den Stand künftig automatisch ab.

Neue Dependency-Advisories — 04.08.2026 nachgezogen (SEC-21)

Am 03.08.2026 veröffentlichte Advisories, im Rahmen des Abgleichs gegen owncloud/core v11.0.0 erkannt und durch Patch-Bump innerhalb des bestehenden Constraints (guzzle ^7.10) geschlossen (PR #78, gemerged 04.08.2026):

CVE Komponente Severity Status in owncloud.online
CVE-2026-69246 guzzlehttp/guzzle (nicht-kanonischer Host umgeht Host-basierte Prüfungen; GHSA-v5mv-p594-2x33) high behoben: guzzle 7.15.2
CVE-2026-69245 guzzlehttp/guzzle (nicht-kanonische Cookie-Domain behält Subdomain-Scope; GHSA-f7vp-7xgx-4w4r) medium behoben: guzzle 7.15.2

composer audit ist seit dem 04.08.2026 wieder ohne Befund (CI-Job „Composer Security Audit" grün auf PR #78 und main). Upstream-Parity: ownCloud core v11.0.0 liefert ebenfalls guzzle 7.15.2 aus (core#41450).

Login-Form User-Enumeration — PR #41586 (SEC-33/OP-158, angepasst übernommen, 05.08.2026)

Upstream-Fix Status
Login-Form leitet canResetPassword nicht mehr aus canChangePassword() ab (#41586) angepasst übernommen

Der canChangePassword()-Zweig wurde entfernt (das schließt den in OP-158/SEC-33 gemeldeten Befund). Der zweite Teil von PR #41586 — die loginName-Auflösung über userManager->get()->getUserName() — wurde bewusst nicht übernommen: weil AccountMapper::getByUid() case-insensitiv sucht, würde die Login-Form für existierende Konten die kanonische Schreibweise echoen und für unbekannte die Rohangabe (?user=fRANKfrank vs. fRANK) — ein neues, billigeres Enumerations-Orakel per einzelnem unauthentifiziertem GET, das nicht durch den Login-Throttler gedrosselt wird. Details siehe changelog/unreleased/41586 und Ticket OP-158.

Frontend-Bibliotheken (SEC-07, 22.06.2026)

Die Frontend-Bibliotheken stammen aus der Herkunft des Codes. Sie liegen versioniert im Repository und werden unverändert ausgeliefert; Korrekturen daran bleiben über Updates hinweg bestehen.

Lib Version CVE Status in owncloud.online
jQuery 2.1.4 CVE-2020-11022 / CVE-2020-11023 behobenrxhtmlTag-Self-Closing-Expansion in core/vendor/jquery/dist/jquery{,.min}.js neutralisiert (Backport des jQuery-3.5.0-htmlPrefilter-Fixes); API-kompatibel
jQuery UI 1.10.0 CVE-2021-41182/41183/41184 in Arbeit — die betroffenen Optionen werden im ausgelieferten Code nicht gesetzt (siehe unten); ein Upgrade der Bibliothek ist eingeplant
Select2 3.5.4 keine zugeordnete Schwachstelle; ein Upgrade ist eingeplant
Bootstrap 3.4.1 3.4.1 IST das Security-Release der 3.x-Linie (fixte u.a. CVE-2019-8331); gepatcht, aber EOL

Zu jQuery UI: Die drei genannten Schwachstellen betreffen Optionen des Datumsauswahl-Widgets und der Positionierungshilfe. Eine Durchsicht aller Aufrufstellen im ausgelieferten Code (Stand 13.08.2026) hat ergeben, dass keine davon gesetzt wird — die Datumsauswahl wird ausschließlich mit Format- und Grenzdatumsangaben aufgerufen, die Positionierungshilfe gar nicht. Für Erweiterungen Dritter gilt das nicht zwangsläufig; deshalb bleibt der Austausch der Bibliothek eingeplant und der Punkt offen geführt.

Der jQuery-Fix ist gegen die offizielle Korrektur der Version 3.5.0 abgeglichen und wird bei jedem Release mit ausgeliefert. Ein Neuaufbau der Frontend-Abhängigkeiten von Grund auf (make clean-nodejs-deps) verwirft ihn; das Ziel warnt seit dem 13.08.2026 ausdrücklich davor und verweist auf diese Seite.

Upstream-master-Delta (über 10.16.3 hinaus)

Das komplette Delta zwischen Fork-Basis und upstream master wurde am 11.06.2026 per git cherry (Patch-Äquivalenz) gesichtet. Zusätzlich zu den 10.16.3-Fixes übernommen:

Upstream-Commit Inhalt Status
42a66ed10ed PHP-8-Deprecations (federation DbHandler, Encryption-Wrapper) backported
9b2278dcc81 Federation mit Instanzen in Unterverzeichnissen backported
5bb332b7aaf htaccess.RewriteBase blockierte API-Requests auf Dateien mit Endungen backported
dbc54ca32e4 dist-URLs für icewind/smb + icewind/streams (Build-Robustheit) backported
47e4d2b9c56 core/signature.json entfernt backported

Bewusst nicht übernommen (geprüft, nicht sicherheitsrelevant): Oracle-Removal (95e3cdec2bd, bei uns toter Code ohne Wirkung), mod_php8-IfModule (a43e3e8ebbd, unter PHP-FPM inert), CI-/Changelog-/Übersetzungs- und Dev-Dependency-Commits.

Einordnung gegenüber ownCloud 10.16.3 / 11.0.0

  • ownCloud 10.x fährt die Symfony-Komponenten auf dem 5.4-LTS-Zweig; owncloud.online liefert die 7.4er/8.0er-Zweige mit denselben oder neueren Security-Fixes aus.
  • Upstream-Fixes, die nach unserem Fork-Punkt auf owncloud/core master erscheinen, werden regelmäßig gesichtet und per Cherry-pick übernommen (Quell-Commits sind in den Commit-Messages dokumentiert, siehe "cherry picked from commit ...").

Search-Highlights ungeescaped — PR #41760 (SEC-32, übernommen, 11.08.2026)

FilesSearchReportPlugin lieferte die Property search-highlights unverändert aus dem Suchergebnis aus. Das Fragment wird aus dem Dateiinhalt gebildet und trägt bewusst Markup (Zeilenumbrüche werden zu <br/>), ein Client, der es als HTML rendert, führt eingeschleustes Markup also mit aus — Stored XSS über einen geteilten Dateiinhalt.

Übernommen wie upstream: erst htmlspecialchars(..., ENT_QUOTES, 'UTF-8'), danach die Umbruch-Ersetzung, damit das beabsichtigte <br/> erhalten bleibt. Die Reihenfolge ist der ganze Trick.

Praktisch wird der Pfad erst mit einem Suchprovider aktiv, der Highlights liefert (search_elastic, im Fork nicht gebündelt) — der verwundbare Code lag aber vorhanden im Baum. Regressionstest: FilesSearchReportPluginTest::testOnReportEncodesHighlights.

Code-Signing: G1 statt G2 — PR #41680 / #41712 (SEC-34, bewusst offen, 11.08.2026)

ownCloud 11.0.0 stellt die App-Signaturprüfung auf ein neues Verfahren (G2) um. Dieser Fork nutzt weiterhin das bisherige Verfahren (G1).

Für den Betrieb ist das solange folgenlos, wie ausschließlich gebündelte oder selbst gebaute Apps eingesetzt werden — was der ausgelieferte Stand vorsieht. Wer signaturgeprüfte Fremd-Apps installieren will, sollte vorher auf G2 umstellen.

Terminiert: Upstream lässt G1-Signaturen zum 01.01.2027 auslaufen (hartkodierter Sunset 2026-12-31T23:59:59Z). Marketplace-Apps sind danach G2-signiert. Bis Q4/2026 ist zu entscheiden:

  • A — G2 übernehmen (#41680 + #41712): rund 20 neue Klassen, Änderungen an Checker.php, Server.php, kernel.php, Installer.php, CheckApp.php, neue Trust-Anchors. Nötig, sobald signaturgeprüfte Fremd-Apps installiert werden sollen.
  • B — bewusst nicht übernehmen: setzt die Festlegung voraus, dass auf den Instanzen ausschließlich gebündelte bzw. selbst gebaute Apps laufen.

Derzeit gilt faktisch B, ohne dass die Voraussetzung schriftlich festgelegt wäre. Das ist der eigentliche offene Punkt an diesem Ticket.

Prüfbefehl

bash
git fetch upstream-owncloud-core --tags
git merge-base --is-ancestor <upstream-fix-sha> main && echo enthalten
composer audit