Läuft bei dir noch Joomla 3?
Joomla! 3
Security
Patch.
+ PHP 8 Kompatibilität
Schliesst 50 bekannte Sicherheitslücken im Joomla! 3 Core und behebt 7 PHP-8-Deprecation-Probleme im Code, der bei jedem Request geladen wird. Jeder Fix wird einzeln geprüft, automatisch gesichert, ein Klick zum Anwenden und ein Klick zum Rückgängigmachen.
Unabhängiger Drittanbieter-Patch für Joomla! 3
50
geprüfte Sicherheits-Fixes
7
PHP-8-Kompatibilitäts-Fixes
1 Klick
anwenden & jederzeit rückgängig
57 / 57 Regeln erfüllt · GEPATCHT
Warum das wichtig ist
Joomla! 3 erreichte am 17. August 2023 sein offizielles End-of-Life. Es werden keine offiziellen Sicherheitsupdates mehr veröffentlicht, trotzdem läuft ein grosser Teil des Webs noch damit.
Keine offiziellen Fixes
Es werden laufend neue Sicherheitslücken in Code gefunden, der mit neueren Joomla!-Versionen geteilt wird, aber Joomla! 3 selbst bekommt keinen Patch mehr.
Hoster streichen PHP 7.4
Erzwungene Upgrades auf PHP 8.x brechen den ungepatchten Joomla! 3 Core an mehreren Stellen komplett, auch im Adminbereich.
Migration ist nicht immer möglich
Ein Umstieg auf Joomla! 4/5 braucht Budget und Zeit, die viele Betreiber gerade nicht haben, aber ungepatcht weiterlaufen ist auch keine Option. Patchen oder migrieren im Vergleich →
Leistungsumfang
Zwei unabhängige Bausteine in einem Paket: separat anwendbar, nach eigenem Zeitplan.
Sicherheit
50 geprüfte Fixes
41 mit offizieller CVE, 9 eigenständig identifizierte Härtungsmassnahmen. Jeder Fix wird einzeln recherchiert, gegen den echten 3.10.12-Core verifiziert und mit einem Konfidenzwert versehen. Kandidaten mit niedriger Konfidenz werden nie ausgeliefert.
| Klasse | Anzahl |
|---|---|
| XSS / Cross-Site-Scripting | 24 |
| Zugriffskontrolle / Authentifizierung | 9 |
| Sonstige Härtungsmassnahmen | 4 |
| SQL-Injection | 2 |
| Cache-Poisoning | 2 |
| Timing-Angriffe | 2 |
| Datei-Upload / RCE | 2 |
| Offene Weiterleitung | 2 |
| Path Traversal / LFI | 1 |
| PHP-Objekt-Injection | 1 |
| Informationslecks | 1 |
Jeder Fix wird mit der entsprechenden Upstream-Joomla!- oder Community-Fork-Änderung verglichen, auf die 3.10.x-Linie angepasst und durch Lesen des betroffenen Codes erneut verifiziert, nicht blind übernommen. Alle 57 Fixes bestehen einen Smoke-Test gegen einen echten 3.10.12-Core; 45 sind mit hoher, 12 mit mittlerer Konfidenz bewertet. Nichts mit niedriger Konfidenz wird ausgeliefert.
Alle 57 Fixes und CVEs anzeigen →
| ID | Typ | CVE | Klasse | Datei | Konfidenz |
|---|---|---|---|---|---|
| JP3-0001 | Sicherheit | CVE-2025-54476 | XSS-Filter-Umgehung | InputFilter.php | Hoch |
| JP3-0002 | Sicherheit | CVE-2025-63083 | Gespeichertes XSS | toc.php | Hoch |
| JP3-0003 | Sicherheit | CVE-2026-21629 | Fehlende Authentifizierungsprüfung | ajax.php | Hoch |
| JP3-0004 | Sicherheit | CVE-2026-48954 | Gespeichertes XSS (Attribut-Ausbruch) | languageoverridequotes.php +2 more | Hoch |
| JP3-0005 | Sicherheit | CVE-2026-48950 | Reflektiertes XSS | default.php | Mittel |
| JP3-0006 | Sicherheit | CVE-2026-48953 | XSS über öffentliche Layout-API | image.php | Mittel |
| JP3-0007 | Sicherheit | CVE-2026-48952 | XSS über nicht vertrauenswürdige Update-Feed-Daten | default.php | Mittel |
| JP3-0008 | Sicherheit | CVE-2026-25901 | Gespeichertes XSS | edit.php | Mittel |
| JP3-0009 | Sicherheit | CVE-2026-30894 | Gespeichertes XSS | preview.php | Hoch |
| JP3-0010 | Sicherheit | CVE-2026-25900 | XSS über nicht vertrauenswürdigen RSS-Feed | default.php +1 more | Hoch |
| JP3-0011 | Sicherheit | CVE-2026-30895 | Gespeichertes XSS | readmore.php +1 more | Mittel |
| JP3-0012 | Sicherheit | CVE-2026-40383 | Path Traversal zu Local File Inclusion | HtmlView.php | Hoch |
| JP3-0013 | Sicherheit | CVE-2026-35222 | SQL-Injection | tags.php +1 more | Hoch |
| JP3-0014 | Sicherheit | CVE-2026-48902 | Sensibles Token unverschlüsselt über HTTP gesendet | reset.php +1 more | Hoch |
| JP3-0015 | Sicherheit | CVE-2026-48901 | Cache-Poisoning / fehlerhafte Filter-Wiederverwendung | InputFilter.php | Hoch |
| JP3-0016 | Sicherheit | CVE-2026-48948 | Fehlerhafte Zugriffskontrolle | view.vcf.php | Hoch |
| JP3-0017 | Sicherheit | CVE-2025-63082 | XSS über data:-URI | InputFilter.php | Hoch |
| JP3-0018 | Sicherheit | CVE-2024-40747 | XSS über Modul-Style-/Attribut-Parameter | ModuleHelper.php | Hoch |
| JP3-0019 | Sicherheit | CVE-2025-25226 | SQL-Injection über Umgehung der Bezeichner-Quotierung | driver.php | Hoch |
| JP3-0020 | Sicherheit | CVE-2026-21631 | Gespeichertes XSS | edit.php | Hoch |
| JP3-0021 | Sicherheit | — | Fehlende Autorisierungsprüfung | update.php | Hoch |
| JP3-0022 | Sicherheit | — | Timing-Seitenkanal | totp.php | Hoch |
| JP3-0023 | Sicherheit | — | Fehlende Anfrage-/Antwort-Authentifizierung | yubikey.php +3 more | Hoch |
| JP3-0024 | Sicherheit | — | PHP-Objekt-Injection (zusätzliche Absicherung) | restore.php | Mittel |
| JP3-0025 | Sicherheit | — | XSS über nicht vertrauenswürdigen externen Feed | default.php | Hoch |
| JP3-0026 | Sicherheit | — | Timing-Seitenkanal (geringe reale Auswirkung) | reset.php | Mittel |
| JP3-0027 | Sicherheit | — | Code-Hygiene (eval entfernt), nicht als ausnutzbar identifiziert | HtmlDocument.php | Mittel |
| JP3-0028 | Sicherheit | — | Remote Code Execution über Umgehung des Datei-Uploads | MediaHelper.php | Hoch |
| JP3-0029 | Sicherheit | — | Umgehung der Content-Type-Erkennung (Upload-XSS) | MediaHelper.php | Hoch |
| JP3-0030 | Sicherheit | CVE-2023-40626 | Informationslecks (Offenlegung von Umgebungsvariablen/PHP-Konstanten) | LanguageHelper.php +28 more | Hoch |
| JP3-0031 | Sicherheit | CVE-2024-21723 | Offene Weiterleitung | framework.php | Hoch |
| JP3-0032 | Sicherheit | CVE-2024-27184 | Unzureichende URL-Validierung (offene Weiterleitung / SSRF-nah) | Uri.php | Hoch |
| JP3-0033 | Sicherheit | CVE-2024-21724 | XSS über nicht validierten Medienfeld-Wert | banner.xml +28 more | Hoch |
| JP3-0034 | Sicherheit | CVE-2024-26279 | XSS über bösartige Wrapper-URL (javascript:/data:-Schemas) | default.xml +1 more | Hoch |
| JP3-0035 | Sicherheit | CVE-2024-21726 | XSS-Filterlücke in der URL-Formularvalidierungsregel | UrlRule.php +1 more | Hoch |
| JP3-0036 | Sicherheit | CVE-2024-21731 | XSS über entity-kodiertes Tag, das strip_tags übersteht und live dekodiert wird | string.php | Hoch |
| JP3-0037 | Sicherheit | CVE-2024-40743 | XSS über gemischt geschriebenes oder verschachteltes Tag, das eine einstufige, gross-/kleinschreibungssensitive Strip-Regex übersteht | OutputFilter.php | Hoch |
| JP3-0038 | Sicherheit | CVE-2024-27185 | Cache-Poisoning über beliebige Parameter-Injection in gecachte Pagination-Links | Pagination.php | Hoch |
| JP3-0039 | Sicherheit | CVE-2024-21722 | Unzureichender Sitzungsablauf nach Änderung der MFA-Methode | user.php +1 more | Hoch |
| JP3-0040 | Sicherheit | CVE-2024-21725 | XSS über punycode-dekodierte E-Mail/URL mit HTML-Sonderzeichen | default.php +7 more | Mittel |
| JP3-0041 | Sicherheit | CVE-2024-26278 | Gespeichertes XSS über unbereinigten Standardwert eines benutzerdefinierten Felds | field.xml | Hoch |
| JP3-0042 | Sicherheit | CVE-2024-27187 | Unzureichende Zugriffskontrolle (Selbstbedienungs-Rechte-/Identitätsmanipulation) | user.php | Mittel |
| JP3-0043 | Sicherheit | CVE-2026-48898 | Fehlende Autorisierungsprüfung (zusätzliche Absicherung; schliesst keine aktuell erreichbare 3.x-Lücke) | user.php | Mittel |
| JP3-0044 | Sicherheit | CVE-2026-73371 | Unzureichende Zugriffskontrolle (Batch-Kopie von Elementen, die der Nutzer nicht bearbeiten darf) | AdminModel.php +4 more | Hoch |
| JP3-0045 | Sicherheit | CVE-2026-48956 | Fehlende Autorisierungsprüfung (zusätzliche Absicherung für einen untypischen Einstiegspunkt) | controller.php | Mittel |
| JP3-0046 | Sicherheit | CVE-2026-71572 | HTTP-Header-Injection über unbereinigten Dateinamen | view.raw.php +1 more | Hoch |
| JP3-0047 | Sicherheit | CVE-2026-73373 | Remote Code Execution über Umgehung des Datei-Uploads (SSI-ausführbare Dateiendung) | template.php | Hoch |
| JP3-0048 | Sicherheit | CVE-2026-21632 | Gespeichertes XSS über nicht escapten Artikeltitel | blog_links.php +6 more | Hoch |
| JP3-0049 | Sicherheit | CVE-2024-40748 | XSS über nicht escaptes HTML-id-Attribut | default.php | Hoch |
| JP3-0050 | Sicherheit | CVE-2024-40749 | Umgehung der Zugriffskontrolle über gross-/kleinschreibungsunabhängige Klassenauflösung vs. -sensitive ACL-Prüfung | controller.php +1 more | Hoch |
| JP3-0051 | PHP 8 | — | PHP-8.1-Kompatibilität (Serializable-Interface-Deprecation, keine Sicherheitslücke) | Input.php +1 more | Hoch |
| JP3-0052 | PHP 8 | — | PHP-8.1-Kompatibilität (SPL-Interface-Rückgabetyp-Deprecation, keine Sicherheitslücke) | Feed.php | Hoch |
| JP3-0053 | PHP 8 | — | PHP-8.4-Kompatibilität (Deprecation impliziter nullable-Parameter, keine Sicherheitslücke) | BaseApplication.php +6 more | Hoch |
| JP3-0054 | PHP 8 | — | PHP-8.1-Kompatibilität (SPL-Interface-Rückgabetyp-Deprecation, keine Sicherheitslücke) | iterator.php | Hoch |
| JP3-0055 | PHP 8 | — | PHP-8.1-Kompatibilität (SPL-Interface-Rückgabetyp-Deprecation, keine Sicherheitslücke) | iterator.php | Hoch |
| JP3-0056 | PHP 8 | — | PHP-8.1-Kompatibilität (SPL-Interface-Rückgabetyp-Deprecation, keine Sicherheitslücke) | DataSet.php | Hoch |
| JP3-0057 | PHP 8 | — | PHP-8.1-Kompatibilität (SPL-Interface-Rückgabetyp-Deprecation, keine Sicherheitslücke) | Input.php | Hoch |
Stand: August 2026. Lieber eine eigenständige, verlinkbare Seite? Zur vollständigen CVE-Liste →
Kompatibilität
7 PHP-8-Fixes
Verhindert, dass der Core unter PHP 8.1+ Deprecation-Fehler wirft, inklusive der Application-Bootstrap-Klassen, die bei jedem einzelnen Seitenaufruf geladen werden. Rein additiv, auch unter PHP 7.4 sicher. Die konkreten Fehlermeldungen ansehen →
- Input.php (2 Fixes): Serializable- und Countable-Interface-Konformität, die Klasse wird bei jedem Request geladen
- Application-Bootstrap (7 Dateien): Fix mit höchster Erreichbarkeit, jeder Frontend- und Admin-Request
- Feed.php: genutzt von mod_feed und com_newsfeeds
- JDatabaseIterator & FOFDatabaseIterator: optionale APIs, die manche Erweiterungen aufrufen
- Joomla\Data\DataSet: schliesst die Klasse vollständig für jede Erweiterung, die darauf verweist
So funktioniert’s
Installiert sich als normale, geschützte Joomla!-Erweiterung. Kein SSH- oder Datenbankzugriff nötig.
-
Installieren
Erweiterungen → Verwalten → Installieren → Paketdatei hochladen.
-
Scannen
Scan & Apply öffnen und live sehen, welche der 57 Regeln bereits erfüllt sind und welche fehlen.
-
Anwenden
Die fehlenden Sicherheits-Fixes mit einem Klick anwenden. Jede Änderung wird zuerst automatisch gesichert.
-
PHP 8 umschalten
PHP-8-Kompatibilität separat aktivieren, sobald das Hosting umzieht. Ebenfalls ein Klick, jederzeit rückgängig.
Sicher by design
Was tatsächlich mit den Dateien passiert: bevor, während und nachdem ein Fix angewendet wird.
Backup vor jeder Änderung
Jede Datei, die überschrieben werden soll, wird zuerst in einen datierten Backup-Ordner innerhalb der Erweiterung kopiert, jedes Mal, ohne Ausnahme.
Unerkannte Dateien werden übersprungen
Jede Datei wird vor dem Zugriff gegen ein bekanntes Muster geprüft. Passt der umliegende Code nicht mehr (z. B. weil eine Drittanbieter-Erweiterung ihn verändert hat), wird dieser Fix für eine manuelle Prüfung übersprungen, nicht erzwungen angewendet.
Jeden Fix jederzeit wiederherstellen
Jeder angewendete Fix kann einzeln aus seinem Backup zurückgesetzt werden. Kann eine Wiederherstellung nicht vollständig abgeschlossen werden, wirst du explizit darauf hingewiesen statt im Ungewissen zu bleiben.
Zwei ehrliche Grenzen: Wenn ein Fix angewendet wird, ersetzt er den gesamten Inhalt der betroffenen Datei statt zeilenweise zu mergen. Eigene Anpassungen in genau dieser Datei könnten dadurch verloren gehen. Prüfe bei Unsicherheit vorher die Dateiliste eines Fixes gegen deine eigenen Änderungen. Und Fixes sind nicht transaktional über einen Batch hinweg: Schlägt ein Fix in einem Mehrfach-Durchlauf mittendrin fehl, werden bereits geänderte Dateien früherer Fixes in diesem Durchlauf nicht automatisch zurückgerollt. Das Backup steht immer für eine manuelle Wiederherstellung bereit.
Im Adminbereich
Echte Screenshots aus dem Scan-&-Apply-Adminbildschirm: das siehst du nach der Installation.
Häufig gestellte Fragen
Ersetzt das eine Migration auf Joomla! 4 oder 5?
Nein. Es ist eine Übergangslösung, die eine Joomla! 3 Website sicher hält und auf aktuellen PHP-Versionen laufen lässt, während du eine Migration planst, kein Ersatz dafür.
Funktioniert es, wenn meine Joomla!-Core-Dateien bereits verändert wurden?
Jede Datei wird vor dem Zugriff auf das tatsächliche verwundbare Muster geprüft. Ist dieses Muster noch erkennbar, wird der Fix angewendet (nachdem die Datei gesichert wurde). Passt der umliegende Code zu keinem bekannten Muster mehr, wird dieser Fix übersprungen und für eine manuelle Prüfung markiert, statt erzwungen angewendet zu werden. Eine Sache solltest du wissen: Wenn ein Fix angewendet wird, ersetzt er den gesamten Dateiinhalt statt zeilenweise zu mergen. Eigene Anpassungen in genau dieser Datei könnten dadurch verloren gehen. Prüfe im Zweifel vorher die Dateiliste des Fixes gegen deine eigenen Änderungen.
Werden Drittanbieter-Erweiterungen oder Templates gepatcht?
Nein. Jeder Fix betrifft ausschliesslich Joomla!-Core-Dateien.
Welche PHP-Versionen werden tatsächlich unterstützt?
Die 7 Kompatibilitäts-Fixes beheben Deprecation-Warnungen, die über PHP 8.1 bis 8.4 hinweg eingeführt wurden, in Code, der bei jedem Request läuft, verifiziert gegen echte PHP-7.4- und PHP-8.1-Interpreter. Sie verhindern, dass der Joomla!-Core selbst diese Warnungen wirft, garantieren aber nicht, dass der Rest deines Adminbereichs auf PHP 8.1+ fehlerfrei läuft, falls deine Templates oder Drittanbieter-Erweiterungen selbst nicht PHP-8-kompatibel sind.
Kann ich jede Änderung rückgängig machen?
Ja. Jeder angewendete Fix kann einzeln aus seinem automatischen Backup wiederhergestellt werden. Kann eine Wiederherstellung nicht vollständig abgeschlossen werden, wirst du explizit darauf hingewiesen statt im Ungewissen zu bleiben. Prüfe in diesem Fall den Backup-Ordner manuell.
Für wie viele Websites gilt eine Lizenz?
Für eine Joomla!-Installation. Die Installation auf Staging und Produktion derselben Website ist durch dieselbe Lizenz abgedeckt.
Bleibt die Erweiterung dauerhaft installiert?
Ja. Sie installiert sich als geschützte Erweiterung und ist nicht dafür gedacht, über den normalen Deinstallieren-Button entfernt zu werden. Die beiliegende Installationsanleitung beschreibt den korrekten Weg zur Entfernung, falls nötig.
Ist das ein Abo? Bekomme ich auch künftige Fixes?
Nein. Das ist ein einmaliger Kauf, der die 57 Fixes im aktuellen Paket abdeckt. Neue Sicherheitslücken, die nach deinem Kauf entdeckt werden, sind nicht automatisch enthalten. Schau für künftige Paket-Updates auf joomla-update.ch vorbei.
Einmaliger Kauf
Kein Abo. Deckt die 57 Fixes im aktuellen Paket ab.
Joomla! 3 Security-Patch + PHP-8-Kompatibilität
$19.90 einmalig
Sofortiger Download nach dem Kauf, inklusive Installationsanleitung.
Patch holen- 50 geprüfte Sicherheits-Fixes (41 mit CVE, 9 Härtungsmassnahmen)
- 7 PHP-8-Kompatibilitäts-Fixes
- Scan-&-Apply-Admin-Oberfläche
- Automatisches Backup, jederzeit rückgängig
- Funktioniert mit Joomla! 3.10.12 und 3.10.x-Forks
- Eine Lizenz pro Joomla!-Installation, Staging und Produktion derselben Website inklusive
Bewusst nicht enthalten
- Sicherheitslücken in Drittanbieter-Erweiterungen oder Templates: der Patch betrifft ausschliesslich Joomla!-Core-Dateien
- Volle PHP-8.1+-Kompatibilität von Joomla! 3s eigenem Adminbereich: die Kompatibilitäts-Fixes verhindern, dass der Core Deprecation-Warnungen wirft, garantieren aber nicht, dass jeder Adminbildschirm ohne weiteres Zutun sauber auf PHP 8.1+ läuft
- Eine Garantie, dass der gesamte Adminbereich fehlerfrei auf PHP 8.1 läuft, falls Drittanbieter-Komponenten selbst nicht PHP-8-kompatibel sind
- Schutz vor künftigen, noch nicht bekannten Sicherheitslücken (Zero-Days)
Bereits gehackt?
Dieser Patch verhindert bekannte Sicherheitslücken. Er räumt aber keine bereits erfolgte Kompromittierung auf. Zeigt deine Joomla-3-Website schon Anzeichen eines Hacks (Spam-Seiten, Weiterleitungen, eine verunstaltete Startseite, eine Hoster-Warnung), melde dich bei uns, wir helfen bei der Analyse und Bereinigung.
Was du zuerst prüfen solltest →
Kontakt aufnehmen