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=fRANK → frank 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 | behoben — rxhtmlTag-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/coremaster 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
git fetch upstream-owncloud-core --tags
git merge-base --is-ancestor <upstream-fix-sha> main && echo enthalten
composer audit