Premium Packages (WordPress Download Manager) Sicherheitshinweis
Wenn Sie eine E-Mail von mir erhalten haben, die Sie auf diese Seite verweist, dann
deshalb, weil Ihre Website offenbar eine verwundbare Version von Premium Packages (dem
WordPress-Plugin wpdm-premium-packages, einem WordPress Download Manager Add-on von
Shahjada / wpdownloadmanager.com) einsetzt. Diese Seite erklärt, warum das wichtig ist und
wie Sie es beheben.
Dieser Hinweis betrifft CVE-2026-15348, eine nicht authentifizierte Umgehung der Authentifizierung im Download-Handler des Plugins, die es einem nicht autorisierten Besucher ermöglichen könnte, sich als Kunde oder anderes Nicht-Administratorkonto anzumelden in Ihrem Shop. Sie betrifft die Versionen 4.7.0 bis 7.0.4 und ist in 7.0.5 behoben. Wenn Sie eine betroffene Version einsetzen, aktualisieren Sie Premium Packages auf 7.0.5 oder neuer.
Ein Wort zur Dringlichkeit, denn sie liegt zwischen meinen anderen Hinweisen: Dieses Problem benötigt überhaupt keine Anmeldung (es ist vollständig nicht authentifiziert), daher lohnt sich ein zügiges Update. Zugleich handelt es sich um eine Kontozugriffsschwachstelle, die Nicht-Administrator-Bestellinhaber betrifft, nicht um eine Übernahme des Servers oder eines vollständigen Administratorkontos, und es gibt keinen Hinweis darauf, dass sie ausgenutzt wird (sie ist nicht im Katalog der Known Exploited Vulnerabilities der CISA enthalten, und mir sind keine Berichte über eine Ausnutzung bekannt). Diese Seite ist eine vorsorgliche Information, kein Vorfallsbericht. Ein Update schließt das Problem, und es ist keine Notfallreaktion angezeigt.
Dies ist eine Schwachstelle eines Plugins, nicht des WordPress-Kerns. Ein vollständig aktuelles WordPress schützt Sie nicht, wenn das Plugin Premium Packages selbst auf einer betroffenen Version ist.
Ist diese Nachricht seriös?
Ja. Dies ist ein Hinweis nach Treu und Glauben im Sinne der verantwortungsvollen Offenlegung von einem unabhängigen Sicherheitsforscher. Ich bitte Sie nicht um Geld, Passwörter oder Zugang zu Ihrer Website, und ich habe nicht versucht, in sie einzudringen, etwas hochzuladen oder etwas auszunutzen.
Ich habe lediglich öffentlich sichtbare Dateien betrachtet, die Ihre Website jedem
Besucher bereitstellt (so wie auch Ihre Startseite öffentlich ist), und die
Versionsinformation notiert, die das Plugin Premium Packages in seiner öffentlichen
readme.txt-Datei veröffentlicht. Den verwundbaren Endpunkt habe ich ausdrücklich
nicht berührt, und nichts an dieser Prüfung berührt Ihre Daten, Ihren
Administrationsbereich oder irgendeinen privaten Teil Ihrer Website (mehr dazu unter
Was ich getan und nicht getan habe weiter unten).
Wenn Sie überprüfen möchten, wer ich bin, sehen Sie sich die Kontaktdaten am Ende dieser Seite und die Über-Seite an.
Warum das wichtig ist
Premium Packages ist ein WordPress Download Manager Add-on (rund 2.000 aktive
Installationen), mit dem eine Website digitale Produkte und Downloads verkaufen kann. In
betroffenen Versionen läuft der download()-Handler des Plugins bei einer nicht
authentifizierten Anfrage. Er dekodiert einen von einem Angreifer kontrollierten
URL-Parameter (wpdmppdl), der nur base64-kodiert ist, ohne Signatur und ohne Nonce,
um zu belegen, dass die Anfrage echt ist, und stellt anschließend WordPress-Anmelde-Cookies
aus, nachdem eine “Domain”-Prüfung erfolgt ist, deren beide Seiten vom Angreifer
geliefert werden (sodass die Prüfung trivial erfüllt ist). Diese Klasse von Fehlern ist
eine Umgehung der Authentifizierung: Ein Nebenpfad vergibt eine angemeldete Sitzung,
ohne jemals zu überprüfen, wer die Anfrage stellt.
Der praktische Effekt ist, dass ein nicht authentifizierter Besucher sich als jeder beliebige Nicht-Administrator-Benutzer anmelden könnte, der eine Bestellung besitzt im Shop: ein Kunden-, Abonnenten-, Autoren-, Redakteur- oder Shop-Manager-Konto. Um die Grenze dessen klarzustellen: Es gewährt keinen Administratorzugriff und übergibt einem Angreifer nicht von sich aus Ihren Server. Es handelt sich um die Übernahme von Konten von Nicht-Administrator-Bestellinhabern.
Der Schwachstelle wurde von der zuweisenden Stelle kein CVSS-Wert zugewiesen, daher hefte ich ihr keine Zahl an; qualitativ ist sie ernst, weil sie keine Anmeldung benötigt, aber begrenzt, weil der Zugriff, den sie verschafft, keine Administratorrechte umfasst. Wenn meine E-Mail dieses Problem genannt hat, bedeutet das, dass die Version, die Ihre Website meldet, in den betroffenen Bereich fällt. Ich habe nicht getestet, ob Ihre konkrete Website ausnutzbar ist, sondern nur, dass sie eine betroffene Version meldet.
Die gute Nachricht: Ein Update auf die behobene Version schließt die Lücke, und das Update ist unkompliziert.
Bin ich betroffen? So prüfen Sie Ihre Version
Dies ist der eine Teil dieses Hinweises, der sich von den anderen unterscheidet, die ich versende, denn die öffentlichen Versionsfelder dieses Plugins sind unzuverlässig, daher lohnt es sich, sorgfältig zu lesen.
Die maßgebliche Prüfung ist der WordPress-Administrationsbereich. Dort wird die tatsächlich installierte Version angezeigt:
- Melden Sie sich in Ihrem WordPress-Dashboard an (üblicherweise unter
yourdomain.com/wp-admin). - Gehen Sie zu Plugins dann Installierte Plugins.
- Suchen Sie nach Premium Packages und notieren Sie die unter dem Namen angezeigte Version.
Wenden Sie dann diese Regel an, und beachten Sie, dass Versionen numerisch verglichen werden, nicht alphabetisch:
- Jede Version unter 7.0.5: betroffen, jetzt aktualisieren.
- 7.0.5 oder neuer: bereits behoben.
Warum nicht einfach die öffentlichen Dateien lesen? Weil sie Sie bei diesem Plugin in die Irre führen können:
- Die Zeile “Stable tag:” in der öffentlichen
readme.txtdes Plugins hinkt seinem eigenen Code hinterher. Eine Website, die die letzte verwundbare Version (7.0.4) einsetzt, veröffentlicht zum BeispielStable tag: 7.0.3. Die öffentliche readme ist also nur dann ein zuverlässiges Signal für “behoben”, wenn sie 7.0.5 oder höher ausweist. Eine niedrigere Zahl sagt Ihnen nicht zuverlässig Ihre genaue Version; behandeln Sie alles unter 7.0.5 als “wp-admin prüfen und aktualisieren”. - Beurteilen Sie Ihre Version nicht anhand der
?ver=-Nummer in den Skript- oder Style-URLs des Plugins. Das Plugin hat seine interne Versionskonstante im Sicherheitsrelease 7.0.5 bei7.0.4eingefroren, sodass eine gepatchte 7.0.5-Website weiterhin mit?ver=7.0.4gekennzeichnete Assets ausliefert; und das?ver=der CSS-Datei ist in Wirklichkeit die Version des WordPress-Kerns, nicht die des Plugins. Keines von beiden spiegelt die tatsächliche Version des Plugins wider. Verwenden Sie wp-admin.
So aktualisieren Sie
Der sicherste Weg ist die Aktualisierung über WordPress selbst, und zwar nach einer Sicherung:
- Sichern Sie Ihre Website (Dateien und Datenbank), bevor Sie Änderungen vornehmen. Die meisten Hosting-Anbieter bieten Ein-Klick-Sicherungen an, oder Sie verwenden ein WordPress-Backup-Plugin.
- Gehen Sie in der WordPress-Administration zu Dashboard dann Aktualisierungen, oder Plugins dann Installierte Plugins. Wenn ein Update für Premium Packages aufgeführt ist, installieren Sie es von hier aus.
- Wenn Sie die Kommandozeile bevorzugen, erledigt WP-CLI dasselbe:
wp plugin update wpdm-premium-packages. - Wenn dort kein Update erscheint, können Sie die aktuelle Version direkt von der Seite des Plugins im WordPress.org-Verzeichnis beziehen, Premium Packages, und über Plugins dann Neues Plugin hinzufügen dann Plugin hochladen aktualisieren.
- Bestätigen Sie nach dem Update die neue Versionsnummer (7.0.5 oder neuer) anhand der obigen Schritte in Plugins dann Installierte Plugins und prüfen Sie, ob Ihre Downloads und Shop-Funktionen normal funktionieren.
Wenn Sie schon dabei sind, lohnt es sich zu bestätigen, dass WordPress-Kern, WordPress Download Manager und Ihre übrigen Plugins aktuell sind, denn dasselbe Prinzip gilt für alle.
Nach dem Update
Ein Update auf 7.0.5 oder neuer schließt das Problem, und für die meisten Websites ist das bereits die ganze Aufgabe. Es gibt keinen Hinweis darauf, dass diese Schwachstelle ausgenutzt wurde, daher ist keine Notfallreaktion angezeigt: Sie müssen Ihre Website nicht als kompromittiert behandeln, sie nicht offline nehmen und keine Passwort-Zurücksetzungen erzwingen.
Da die Schwachstelle einem nicht autorisierten Besucher erlauben könnte, im Namen eines Kunden oder anderen Nicht-Administratorkontos zu handeln, ist eine routinemäßige Nachkontrolle sinnvoll: Sehen Sie die jüngste Kundenkonto- und Bestellaktivität auf Unbekanntes durch, zum Beispiel Bestellungen oder Kontoänderungen, die ein Kunde nicht vorgenommen hat, oder Anmeldungen, die nicht zur normalen Aktivität passen. Betrachten Sie das als gewöhnliche Routinepflege, wie ein Shop sie ohnehin regelmäßig durchführt, nicht als Reaktion auf einen Vorfall. Sollte etwas tatsächlich nicht stimmen, gelten die üblichen Schritte (setzen Sie das Passwort des betreffenden Kontos zurück und gehen Sie die Aktivität gemeinsam mit dem Kunden durch), und Sie können sich mit Fragen gerne an mich wenden.
Was ich getan und nicht getan habe
Um die Prüfung hinter meiner E-Mail vollständig transparent zu machen: Ich habe nur
öffentliche Dateien gelesen, die Ihre Website ohnehin jedem Besucher bereitstellt, konkret
die öffentliche readme.txt-Datei des Plugins und Ihre Startseite. Ich habe nicht auf
Ihren WordPress-Administrationsbereich, Ihre Datenbank oder irgendeinen privaten Teil der
Website zugegriffen. Insbesondere habe ich den verwundbaren Endpunkt nicht berührt, und
ich habe nichts getestet oder ausgenutzt.
Dies ist eine versionsbasierte Beobachtung: Ihre Website meldet eine Version im betroffenen Bereich. Eine Website in diesem Bereich kann bereits durch andere Mittel geschützt sein (zum Beispiel eine Web Application Firewall oder einen zurückportierten Fix); dieser Hinweis ist daher keine Aussage darüber, dass Ihre Website zum Zeitpunkt meiner Prüfung ausnutzbar war.
Ich habe keinen Webmaster / ich komme nicht weiter
Wenn Sie nicht die Person sind, die die Website betreut, leiten Sie diese Seite bitte an diejenige Person weiter, die das tut (Ihr Webentwickler, Ihre Agentur oder Ihr Hosting-Anbieter). Sie wird die obigen Schritte schnell wiedererkennen.
Wenn Sie die Website selbst betreuen und nicht weiterkommen, helfe ich Ihnen gerne kostenlos, in die richtige Richtung zu finden. Melden Sie sich über die Kontaktdaten unten.
Kontakt
Evan Harris, Sicherheitsforscher
- E-Mail: security@mail.mcpsec.dev
- X: @Evan__Harris
- GitHub: eharris128
- LinkedIn: Evan Harris
Ich wende mich bei Problemen wie diesem ausschließlich deshalb an Betreiber, um ihnen zu helfen, ihre Websites abzusichern. Wenn Sie nicht erneut kontaktiert werden möchten, teilen Sie mir das einfach mit, und ich werde das respektieren.
Quellen
Offizielle Hinweise und Nachverfolgung
Hersteller / Plugin