Magic Login Plugin Privilege Escalation Trussel//Udgivet den 2026-02-15//CVE-2026-2144

WP-FIREWALL SIKKERHEDSTEAM

WordPress Magic Login Mail or QR Code Plugin Vulnerability

Plugin-navn WordPress Magic Login Mail eller QR Code-plugin
Type af sårbarhed Eskalering af privilegier
CVE-nummer CVE-2026-2144
Hastighed Høj
CVE-udgivelsesdato 2026-02-15
Kilde-URL CVE-2026-2144

Privilegiereskalering i Magic Login Mail / QR Code-plugin (≤ 2.05): hvad der skete, hvorfor det er farligt, og hvordan du beskytter dine WordPress-sider

Udgivet: 15. feb, 2026
CVE: CVE-2026-2144 — Alvorlighed: Høj (CVSS 8.1)
Forfatter: WP-Firewall Sikkerhedsteam


Oversigt

  • En høj-alvorlighed sårbarhed blev offentliggjort i WordPress-pluginet “Magic Login Mail eller QR Code” (versioner ≤ 2.05).
  • Klassifikation: Uautentificeret privilegiereskalering via usikker QR-kode filopbevaring.
  • Indvirkning: En uautentificeret angriber kan opnå eller genbruge QR-kode baserede login artefakter (opbevaret usikkert), hvilket gør det muligt for dem at udgive sig for brugere eller eskalere privilegier, hvilket potentielt kan give dem fuld kontrol over siden.
  • Der er ingen officiel rettet version tilgængelig på offentliggørelsestidspunktet. Dette indlæg forklarer problemet på et højt niveau, skitserer sikre afbødninger, du kan anvende med det samme, og giver langsigtet vejledning til udviklere og webstedsejere.

Vi skrev dette fra perspektivet af et erfarent WordPress sikkerhedsteam. Hvis du administrerer WordPress-sider eller driver en hostingvirksomhed, bedes du læse dette grundigt og handle — denne slags sårbarhed er attraktiv for angribere og kan føre til hurtige kompromitteringer af siden.


Indholdsfortegnelse

  • Hvad er problemet?
  • Hvorfor er denne sårbarhed alvorlig?
  • Typisk angrebsflow (højt niveau)
  • Hvad man skal se efter: detektion og indikatorer for kompromittering
  • Umiddelbare afbødninger, du kan anvende (trin-for-trin, sikre)
  • Hærdningsanbefalinger til webstedsejere og hostingudbydere
  • Sikker designvejledning til plugin-udviklere (bliv ikke den næste overskrift)
  • Eksempelserverregler til beskyttelse af QR-filer (Apache/Nginx)
  • Hvordan en administreret WAF og virtuel patching hjælper
  • Tilmeld dig WP-Firewall Grundlæggende beskyttelse (gratis plan)
  • Prioriteret tjekliste — hvad man skal gøre nu
  • Afsluttende noter

Hvad er problemet?

Den sårbare plugin giver “magisk login” funktionalitet - sender login-links og/eller QR-koder, der lader brugerne logge ind uden at indtaste en adgangskode. For at generere QR-koderne opretter plugin'et et artefakt (fil), der repræsenterer det engangs login-link eller token. Sårbarheden opstår, fordi disse filer gemmes i en web-tilgængelig placering med forudsigelige navne og uden tilstrækkelige adgangskontroller eller udløbs-/håndhævelsesbeskyttelser.

Kort sagt: en angriber, der kan opdage eller gætte URL'en til et gemt QR-kodebillede (eller andet artefakt), kan udtrække det indlejrede magiske login-link eller token og bruge det til at autentificere sig som den tiltænkte bruger. Hvis den bruger har forhøjede rettigheder (forfatter, redaktør, administrator), kan angriberen eskalere fra uautentificeret til høje rettigheder - ofte nok til fuldstændigt at kompromittere siden.

Problemet er en identifikations-/autentificeringsfejl: systemet er helt afhængigt af hemmeligheden bag en fil gemt på den offentlige webroot og undlader at give adgangskontroller, korrekt token livscyklusstyring eller uforudsigelig ikke-nummererbar opbevaring.


Hvorfor er denne sårbarhed alvorlig?

  • Uautentificeret: der er ikke behov for at være logget ind eller have nogen tidligere rettigheder for at udnytte sårbarheden - en angriber fra internettet kan forsøge at udnytte den.
  • Rettigheds-eskalering: magiske login-links kortlægger ofte direkte til brugerkonti. Hvis en bruger med høje rettigheder (f.eks. en administrator eller redaktør) modtager en sådan QR, og den QR er eksponeret, arver angriberen den kontos kapabiliteter.
  • Lav friktion for angribere: hvis filer placeres i offentlige upload-mapper, og filnavne er forudsigelige eller nummererbare, kan masse-scanning/automatisering hurtigt opdage og genbruge tokens.
  • Ingen officiel løsning ved offentliggørelse: uden leverandørpatches skal webstedsejere selv anvende afbødninger, indtil en opdatering er tilgængelig.
  • Kæderisiko: når en konto er kompromitteret, kan angriberen installere bagdøre, oprette nye admin-konti, eksfiltrere data eller pivotere til andre systemer.

CVSS 3.1 kontekst: en score på 8.1 indikerer høj alvorlighed. Kombinationen af netværks-tilgængelig udnyttelsesvektor, ingen rettigheder krævet og høj indvirkning på fortrolighed/integritet/tilgængelighed driver dette.


Typisk angrebsflow (højt niveau, ikke-udnyttende)

Denne sektion forklarer plausible skridt, en angriber måtte tage. Vi holder dette bevidst på et højt niveau, så forsvarere kan forstå og reagere - vi giver ikke udnyttelseskode.

  1. Rekognoscering
    • Angriberen identificerer et mål WordPress-websted og tjekker installerede plugins (offentlige sidefødder, almindelige plugin-URL'er eller automatiseret fingeraftryk).
    • Finder ud af, at webstedet bruger “Magic Login” plugin'et.
  2. Artefaktopdagelse
    • Angriberen nummererer almindelige upload-stier (f.eks. /wp-content/uploads/magic-login/, /wp-content/uploads/plugin-name/) for QR-billeder eller ser efter forudsigelige filnavne.
    • Hvis filnavne er forudsigelige, eller hvis plugin'et gemmer tokenet i filstien/metadata, kan automatiserede scripts hurtigt finde filer.
  3. Uddrag og genbrug
    • QR-billede eller tilknyttet fil indeholder et magisk login-link (ofte kodet som almindelig tekst i QR, eller tilgængeligt via QR-billede filnavn, der indeholder et token).
    • Angriberen udtrækker login-URL'en / tokenet og bruger det i browseren eller via HTTP-anmodning for at autentificere sig som den målrettede bruger.
  4. Aktivitet efter kompromittering
    • Hvis den kompromitterede konto har høje privilegier: angriberen installerer ondsindede plugins/temaer, opretter admin-konti, eksfiltrerer data eller ændrer siden.
    • Angriberen kan forsøge at opretholde adgang (bagdøre, planlagte opgaver, databaseindgange).

Fordi angrebet kan automatiseres og let kan reproduceres på mange sider, har det stærkt orm-lignende potentiale, når det bruges i stor skala.


Hvad man skal se efter: detektion og indikatorer for kompromittering (IoCs)

Så snart denne sårbarhed blev offentliggjort, anbefaler vi at scanne din side for følgende tegn.

  1. Tilstedeværelse af plugin- og filartefakter
    • Se efter et bibliotek under uploads, der indeholder QR-billeder eller magiske login-artefakter. Almindelige steder:
      • /wp-content/uploads/magic-login/
      • /wp-content/uploads/magic_login/
      • /wp-content/uploads/*qr* eller /wp-content/uploads/*magic*
    • Filtyper: .png, .svg, .jpg. Undersøg navne for tokens eller datoer.
  2. Serverlogfiler: mistænkelige GET-anmodninger
    • Se efter mange GET-anmodninger til upload-stier fra ukendte IP-adresser (især sekventielle nummereringsmønstre).
    • Se efter gentagen adgang til magiske login-endepunkter eller engangs-URL-mønstre.
  3. Godkendelse i logfiler
    • Usædvanlige logins fra brugere, der normalt ikke logger ind på det tidspunkt.
    • Login via engangslink-endepunkter eller usædvanlige login-referencer.
  4. Ændringer i bruger og kapabiliteter
    • Nye admin-konti oprettet uden rapportering.
    • Ændringer i privilegier eller ændringer af kontoens e-mail (angribere ændrer nogle gange e-mailen på admin-kontoen for at låse ejere ude).
  5. Uventede filer eller bagdøre
    • Nytilføjede PHP-filer, ændrede plugin-filer eller planlagte opgaver (cron).
    • Søg efter base64_obfuscated kode i tema/plugin-filer.
  6. Udgående forbindelser
    • C2 (kommando og kontrol) trafik til ukendte IP-adresser eller domæner fra webserveren.

Hvis du ser nogen af disse, skal du straks gå videre til hændelsesrespons trin (se afsnittet “Øjeblikkelige afbødninger”).


Øjeblikkelige afbødninger, du kan anvende (sikre, prioriterede)

Fordi der ikke er nogen leverandørpatch på tidspunktet for offentliggørelsen, skal du handle for at reducere eksponeringen. Anvend afbødninger i den rækkefølge nedenfor - start med de højeste påvirkninger, laveste risikotræk.

  1. Deaktiver midlertidigt plugin'et
    Letteste og sikreste: deaktiver Magic Login-pluginet straks på produktionssider. Dette stopper nye QR-artikler fra at blive oprettet og forhindrer yderligere misbrug af eksisterende usikre lagring.
  2. Bloker direkte webadgang til QR-filerne katalog
    Hvis deaktivering ikke er muligt (forretningsårsager), bloker direkte adgang til det katalog, hvor pluginet gemmer QR-artikler ved hjælp af webserverregler (eksempler nedenfor). Dette forhindrer angribere i at hente filer, mens pluginet forbliver aktivt.
  3. Rotér/udløb udestående tokens og fjern gemte artikler
    Hvis pluginet gemmer tokens som filer, skal du fjerne disse filer fra uploads-kataloget. Hvis du ikke kan slette dem sikkert, skal du flytte dem til et ikke-web-tilgængeligt katalog.
    Ugyldiggør engangs-login tokens hvor det er muligt. Hvis pluginet giver en administrationsgrænseflade til at tilbagekalde udestående tokens, skal du bruge den.
    Hvis du ikke kan tilbagekalde tokens gennem pluginet, skal du rotere brugerautentifikationsfaktorer (se nedenfor).
  4. Tving adgangskodeændringer for privilegerede brugere og roter nøgler
    Kræv, at alle admin-brugere ændrer adgangskoder.
    Rotér WordPress-salte og autentifikationsnøgler i wp-config.php (AUTH_KEY, SECURE_AUTH_KEY osv.). Bemærk: rotation af salte vil ugyldiggøre aktive sessioner og tokens i mange opsætninger.
  5. Revider brugere og autentifikationslogfiler
    Tjek for ukendte brugere og fjern eller nedgrader eventuelle mistænkelige konti.
    Gennemgå de sidste login-tidsstempler og IP-adresser for admin-brugere.
  6. Stram fil- og bibliotekstilladelser
    Sørg for, at uploads/ og plugin-biblioteker ejes af webserverbrugeren, og at tilladelserne er passende (f.eks. 755 for biblioteker, 644 for filer). Undgå verdens-skrivbare indstillinger.
    Det vil ikke helt stoppe udnyttelser, men reducerer angrebsoverfladen.
  7. Fuld webstedsscanning og retsmedicinsk snapshot
    Kør en malware-scanner for at lede efter bagdøre eller ondsindet kode.
    Tag et snapshot af filer og databaser til senere retsmedicinsk analyse.
  8. Hvis kompromittering mistænkes - isoler og gendan
    Hvis du opdager tegn på kompromittering (nye admin-konti, ukendte PHP-filer), tag siden offline eller isoler den, og gendan derefter fra en ren backup og anvend trinene ovenfor.
  9. Logføring og overvågning
    Forbedr logning (aktiver adgangslogning på serverniveau, hvis det ikke allerede er aktiveret).
    Hold øje med gentagne GET-anmodninger, der kortlægger til upload-stier.

Et par bemærkninger:
- At slette filer alene er ikke tilstrækkeligt, hvis en angriber allerede har brugt en token til at få admin-adgang - du skal tjekke brugerkonti og logs.
- Rotering af salte vil logge eksisterende brugere ud; koordiner dette for store teams.


Hærdningsanbefalinger til webstedsejere og hostingudbydere

Kortvarig hærdning, du kan implementere på tværs af siden:

  • Håndhæve mindst privilegium på brugerroller. Admin-konti bør være begrænsede og bruges sparsomt.
  • Deaktiver eller begræns brugen af plugins, der gemmer autentificeringstokens på offentlige steder.
  • Implementer WAF-regler for at blokere automatiserede scanningsmønstre og almindelige token-nummereringsteknikker.
  • Brug sikre, unikke admin-e-mails og multifaktorautentificering (MFA) for alle privilegerede konti. MFA reducerer skader, hvis en token eller adgangskode bliver eksponeret.
  • Hold PHP, WordPress-kerne og alle plugins/temaer opdaterede. Fjern ubrugte plugins/temaer.
  • Regelmæssige sikkerhedskopier: hold testede sikkerhedskopier offline og offsite.

Anbefalinger til hostingudbydere:

  • Implementer adgangskontroller på host-niveau — begræns direkte filservering for private artefakter.
  • Tilbyd private lagringsbøtter (uden for webrod) til følsomme genererede filer.
  • Giv rollebaseret adgang og aktivitetslogfiler for lejerwebsteder.

Sikker designvejledning til plugin-udviklere (bliv ikke den næste overskrift)

Denne kategori af sårbarhed er et klassisk eksempel på et usikkert implementeringsmønster: opbevaring af autentificeringshemmeligheder på web-tilgængelige steder og afhængighed af uklarhed. Hvis du udvikler plugins, der implementerer nogen form for “magisk link”, QR-login eller engangstoken, skal du inkorporere følgende designkrav:

  1. Udsæt aldrig autentificeringstokens i offentlige filnavne eller statiske filer
    Undgå at indlejre tokens i filnavne. Hvis du skal generere billeder, bør QR'en kun indeholde en server-side identifikator, der løses med autentificeringskontroller, ikke et råt token, der giver øjeblikkelig adgang.
  2. Opbevar tokens sikkert
    Opbevar tokens server-side (database) med stærke tilfældige salte/hash, tilknyttede metadata (udløb, formål, bruger-id, brugt antal, IP-restriktioner).
    Opbevar ikke følsomme tokens i uploads-mappen eller nogen offentlig mappe.
  3. Håndhæve tokenlivscykluskontroller
    Korte udløbstider (minutter).
    Kun enkelt brug (ugyldiggør efter første brug).
    Begræns antallet af tokenvalideringsforsøg.
  4. Kræv kapabilitetskontroller for privilegieforandringsoperationer
    Bekræft, at plugin'et aldrig ændrer roller/kapabiliteter uden at verificere anmodningens oprindelse og tokenets gyldighed.
    Brug WordPress kapabilitetsfunktioner (current_user_can) korrekt.
  5. Gør artefakter ikke-nummererbare og uden for webrod
    Hvis plugin'et skal oprette et billede, der skal scannes, skal du gengive billedet på anmodning bag en autentificeret endpoint, eller opbevare det uden for webrod og servere via et kontrolleret script, der håndhæver autorisation.
  6. Logføring og alarmering
    Log tokenudstedelse, tokenvalideringsforsøg, mislykkede valideringer og forsøg på tokengenbrug.
    Advarsel til webstedsejere om mistænkelig tokenaktivitet.
  7. Inputvalidering & sanitering
    Valider eventuelle parametre, der bruges til at slå tokenfiler eller databaserækker op. Modstå direkte kortlægning af brugerinput til filstier.
  8. Sikkerhed som standard
    Standardindstillinger bør være sikre - administrator skal eksplicit vælge at eksponere funktionalitet, der risikerer sikkerheden.
    Giv kontroller til administrativt at slette udestående tokens.

Hvis du er en plugin-udvikler, der læser dette, så revider for disse mønstre nu.


Eksempelserverregler til beskyttelse af QR-filer

Hvis plugin'et gemmer filer under en undermappe af uploads, og du ikke kan deaktivere det med det samme, så tilføj restriktive webserverregler. Disse eksempler blokerer offentlig adgang til en mappe kaldet magic-login-qr (juster stien til din installation).

Apache (.htaccess placeret i mappen, der indeholder QR-billedfiler - f.eks. /wp-content/uploads/magic-login-qr/.htaccess)

# Bloker al HTTP-adgang til denne mappe

Hvis du har brug for at tillade PHP-processen at læse filerne, men blokere ekstern HTTP-adgang, skal du placere følgende i overordnede mappe:

# Forhindre direkte adgang til billedfiler

Nginx serverblok (tilføj til webstedskonfiguration)

location ~* /wp-content/uploads/magic-login-qr/ {

Hvis plugin'et forventer at servere billeder via et plugin-endpoint, foretræk at blokere direkte filadgang og implementere et kontrolleret PHP-endpoint, der læser filer fra uden for webroot eller validerer den anmodende bruger.

Vigtig bemærkning: Tilføjelse af nægtelsesregler vil stoppe legitime brugere fra at bruge magic login-funktioner; koordiner dette med interessenter og brug det som en midlertidig afbødning.


Hvordan en administreret WAF og virtuel patching hjælper

En administreret Web Application Firewall (WAF) giver lagdelte beskyttelser, mens du implementerer permanente løsninger:

  • Virtuel patching: WAF-regler kan blokere anmodninger, der matcher udnyttelsesmønstre (enumerationsforsøg, gentagne GET-anmodninger til QR-filstier, kendte tokenformater).
  • Ratebegrænsning og bot-afbødning: blokerer masse-scanning og bremser angribere.
  • Angrebssignaturdetektion: opdager automatiserede udnyttelsesværktøjer og blokerer IP'er.
  • Centraliseret beskyttelse på tværs af mange websteder: hvis du kører mange WordPress-instanser, kan WAF anvende centraliserede afbødninger, mens du opdaterer hvert websted.

WP‑Firewall leverer tilpassede regler for WordPress-sikkerhedsproblemer og kan blokere forsøg på at få adgang til kendte sårbare plugin-stier eller mistænkelig token-høstningsaktivitet. Hvis du er afhængig af en vært eller tredjeparts WAF, skal du sikre, at reglerne anvendes hurtigt — tiden mellem offentliggørelse og masseudnyttelse kan være kort.

Bemærk: WAF'er er et vigtigt lag, men de er ikke en erstatning for at løse roden af problemet i plugin-koden. Brug WAF som en midlertidig løsning, mens udviklerne producerer en sikker opdatering.


En kort bemærkning om ansvarlig offentliggørelse

Når sårbarheder findes, opfordrer vi til ansvarlig offentliggørelse: rapporter privat til plugin-forfatteren og giv rimelig tid til en løsning, før offentlig frigivelse. Webstedsejere bør tjekke leverandørens adviseringer og anvende officielle opdateringer, når de bliver tilgængelige. I dette tilfælde er der udstedt en offentlig advisering på grund af alvorligheden og den reelle risiko for websteder.


Sikkerhedsgenopretningscheckliste — prioriteret (hvad man skal gøre nu)

  1. Deaktiver Magic Login Mail/QR-pluginet på alle produktionswebsteder. (Høj prioritet)
  2. Bloker adgang til plugin-uploadkataloger via webserverregler, hvis deaktivering ikke er mulig. (Hurtig afbødning)
  3. Fjern eller flyt alle QR-artefakter fra offentlige uploadkataloger. (Afbøder eksponerede tokens)
  4. Tving adgangskodeændringer for alle privilegerede brugere og roter wp-config-salte. (Afbøder stjålne sessioner/tokens)
  5. Gennemgå brugere & login-logfiler; fjern ukendte admin-konti. (Opdag kompromittering)
  6. Scann webstedet for bagdøre og mistænkelige filer; gendan fra ren backup, hvis kompromittering opdages. (Genopretning)
  7. Anvend en WAF-regel for at blokere enumeration og token-misbrugs mønstre. (Forhindre scanning)
  8. Overvåg logfiler og scann igen efter en uge. (Sikre afhjælpning)

Tilmeld dig WP-Firewall Grundlæggende beskyttelse (gratis plan)

Titel: Sikker din hjemmeside nu — prøv WP‑Firewall Basic gratis

Vi anbefaler stærkt at sætte automatisk beskyttelse foran dine websteder, mens du afhjælper. WP‑Firewalls Basic (Gratis) plan giver dig essentiel, administreret beskyttelse, der kan stoppe mange udnyttelsesforsøg som det, der er beskrevet ovenfor. Den gratis plan inkluderer en administreret firewall, en Web Application Firewall (WAF), malware-scanning, ubegribelig båndbredde og afbødning for OWASP Top 10-risici — alt hvad du behøver for at reducere den umiddelbare angrebsflade, mens du løser det underliggende problem.

Kom i gang med den gratis plan: https://my.wp-firewall.com/buy/wp-firewall-free-plan/

Opgradering til betalte niveauer tilføjer automatisk malware-fjernelse, IP-blacklist/whitelist-kontroller, månedlige rapporter, automatisk virtuel opdatering og praktiske administrerede tjenester for websteder, der kræver et højere sikkerheds- og responsniveau.


Afsluttende bemærkninger — langsigtet tænkning og næste skridt

Denne sårbarhed er en påmindelse: autentificeringsmekanismer, der er afhængige af “hemmelighed ved lagringssted”, er skrøbelige. Magic link og QR-arbejdsgange kan være bekvemme for brugerne, men kræver omhyggelig engineering og livscykluskontroller for at undgå at gøre en bekvemmelighedsfunktion til en fuld kompromitteringsvektor. For webstedsejere er de tre mest indflydelsesrige handlinger i dag:

  1. Fjern eller blokér offentlig adgang til eventuelle gemte autentificeringsartefakter.
  2. Tving en nulstilling af højprivilegerede konti og roter autentificeringsnøgler/salte.
  3. Anvend WAF/virtuel patching for at købe tid, indtil en permanent plugin-fix er tilgængelig.

Hvis du driver flere WordPress-websteder, automatiser scanning for det sårbare plugin og tilstedeværelsen af QR-artefakter i upload-mapper. Hvis du er udvikler af autentificeringsplugins - gem ikke følsomme tokens i web-tilgængelige filer; gem dem i stedet på serversiden og valider via autentificerede slutpunkter, udløb tokens hurtigt, og log hver udstedt token.

Vi overvåger denne offentliggørelse nøje. Hvis du har brug for hjælp til at vurdere eksponering på tværs af flere websteder, opsætte de beskyttende regler ovenfor, eller hærde din infrastruktur, tilbyder WP-Firewall administrerede tjenester og automatiserede afbødningsmuligheder, der kan anvendes på få minutter for at blokere de mest sandsynlige udnyttelsesforsøg.

Hold dig sikker, prioriter beskyttelse af privilegerede konti, og tag handling nu.

— WP-Firewall Sikkerhedsteam


Bilag: hurtige kommandoer og søgninger

(Brug disse til indledende rekognoscering på dine egne installationer - kun defensiv.)

Find sandsynlige QR-filer:

# Søg efter PNG/JPG/SVG filnavne, der indeholder "magic" eller "qr"

Søg webserverlogfiler for adgang til upload-stier:

# Apache / Nginx eksempel

Tjek for nye admin-brugere via WP-CLI:

# list alle brugere med rollen 'administrator'

Rotér salte i wp-config.php (generer nye nøgler ved https://api.wordpress.org/secret-key/1.1/salt/) - dette ugyldiggør sessioner og tvinger reautentificering for alle brugere.


Hvis du ønsker, at vores team skal køre en målrettet scanning på tværs af en liste over websteder, du administrerer, eller hjælpe med at udforme og implementere midlertidige serverregler, svar på dette indlæg eller besøg vores dashboard - vi er her for at hjælpe med hurtigt at sikre din WordPress-flåde.


wordpress security update banner

Modtag WP Security ugentligt gratis 👋
Tilmeld dig nu
!!

Tilmeld dig for at modtage WordPress-sikkerhedsopdatering i din indbakke hver uge.

Vi spammer ikke! Læs vores privatlivspolitik for mere info.