
| Plugin-navn | Alt Manager |
|---|---|
| Type af sårbarhed | Cross Site Scripting |
| CVE-nummer | CVE-2026-3350 |
| Hastighed | Lav |
| CVE-udgivelsesdato | 2026-03-22 |
| Kilde-URL | CVE-2026-3350 |
Gemt XSS i Image Alt Text Manager (Alt Manager) — Hvad det betyder for din side, og hvordan du beskytter den
En nylig offentliggørelse identificerede en gemt cross-site scripting (XSS) sårbarhed, der påvirker versioner <= 1.8.2 af Image Alt Text Manager (Alt Manager) WordPress-pluginet (CVE-2026-3350). Problemet blev rettet i version 1.8.3. Fordi pluginet automatisk interagerer med indlægdata, når det opdaterer eller genererer alt-tekst, kan en angriber, der kan oprette eller redigere indlæg med forfatterniveau privilegier, indsætte indhold, der senere vil blive output uden korrekt escaping — hvilket muliggør et gemt XSS-scenarie.
Hvis du kører dette plugin, skal du læse dette indlæg omhyggeligt. Jeg vil forklare den tekniske risiko, virkelige angrebsscenarier, detektionsindikatorer, umiddelbare afhjælpningstrin og langsigtede sikkerhedsforanstaltninger, du bør vedtage. Jeg vil også forklare, hvordan en webapplikationsfirewall og administreret virtuel patching kan holde din side beskyttet, mens du anvender rettelser.
Denne artikel er skrevet fra et praktisk WordPress sikkerhedsperspektiv — ingen marketingfluff, kun klare trin og forklaringer, du kan handle på i dag.
Resumé (TL;DR)
- En gemt XSS-sårbarhed i Image Alt Text Manager (Alt Manager) findes i versioner <= 1.8.2.
- Rettet version: 1.8.3. Opdater straks, hvor det er muligt.
- Påkrævet privilegium: Forfatter (autentificeret). Det reducerer uautentificeret risiko, men efterlader stadig mange sider udsatte, fordi forfatterkonti er almindelige på multi-forfatter sider.
- Indvirkning: Gemt XSS kan føre til session hijacking, kontoovertagelse (hvis en admin/redaktør ser det forgiftede indhold), ondsindet indholdsinjektion og yderligere pivotering til overtagelse af siden.
- Umiddelbare afhjælpninger: Opdater til 1.8.3+, deaktiver/deaktiver pluginet indtil det er opdateret, fjern ikke-betroede forfattere, overvåg logfiler, aktiver WAF-regler for at blokere forsøg.
- Langsigtet: håndhæve mindst privilegium, 2FA for privilegerede brugere, overvågning, automatiske opdateringer og brug virtuel patching, hvor det er tilgængeligt.
Hvad er gemt XSS, og hvorfor er denne anderledes?
Cross-site scripting (XSS) opstår, når brugerstyrede data indsættes i en side uden korrekt outputkodning eller escaping, hvilket giver en angriber mulighed for at køre JavaScript i konteksten af et offers browser. “Gemt” XSS betyder, at den ondsindede payload gemmes på serveren (i databasen eller filsystemet) og serveres til andre brugere senere.
I dette tilfælde bruger pluginet indlægmetadata (indlægstitler eller relateret indlægstekst) som en del af sin billed alt-tekst behandlingspipeline. Hvis pluginet gemmer eller ekkoer en indlægstitel (eller afledninger af den) i en HTML-kontekst uden korrekt escaping, kan en ondsindet forfatter indlejre et script i titlen. Når en bruger med højere privilegier (f.eks. en redaktør eller administrator) besøger en side i admin eller frontend, hvor den titel (eller alt-tekst afledt derfra) vises uden escaping, udføres det script i deres browser — hvilket potentielt giver angriberen mulighed for at:
- Stjæle autentificeringscookies eller tokens.
- Udføre handlinger på vegne af det offerbrugeren (CSRF-stil).
- Injicere yderligere ondsindet indhold, installere admin-brugere eller ændre plugins/temaer.
- Oprette en vedholdenhedsmekanisme (bagdøre) for langsigtet kontrol.
Den vigtigste risiko her er privilegiumseskalering via browser-side udførelse — forfattere får ofte lov til at offentliggøre indhold på multi-forfatter sider, så udnyttelsesveje eksisterer.
Hvem bliver berørt?
- Websteder, der kører Image Alt Text Manager (Alt Manager) plugin version <= 1.8.2.
- Websteder, hvor der er forfatterniveau-konti til stede (almindeligt i multi-forfatter blogs, redaktionelle arbejdsgange).
- Websteder, hvor redaktører eller administratorer ser eller redigerer indlæg, der kan indeholde ondsindede indlægstitler, eller hvor plugin'et udskriver alt-tekst i admin- eller front-end konteksten.
Note: Fordi sårbarheden kræver en bruger med rettigheder til at oprette eller redigere indlæg for at injicere payloaden, er rent offentlige, uautentificerede angreb mindre sandsynlige. Men mange WordPress-websteder giver forfatter- eller bidragyderroller bredt (gæstebloggere, freelancere, praktikanter), så der er reel risiko.
Teknisk forklaring (højt niveau, sikkert)
Sårbarheden skyldes, at ikke-pålidelige input (indlægstitler) bruges i en output-kontekst, der forventer sikker tekst (billede alt-attributter, admin-lister eller meta-bokse) uden korrekt escaping/encoding. I en sikker implementering bør alle data, der kommer fra brugere, valideres og escapes til målkonteksten:
- For HTML-kropindhold, brug korrekt encoding (
esc_html()). - For HTML-attributter, brug attribut-sikker encoding (
esc_attr()). - For JavaScript-kontekster, brug JSON encoding eller JS-sikre escapes.
- For URLs, brug
esc_url().
Hvis et plugin indsamler indlægstitlen og gemmer eller udskriver den direkte i et attribut som alt="" eller i innerHTML af en admin UI, kan ondsindet HTML eller script-tags udføres i browseren. Gemt XSS er især farligt, fordi payloaden består og udføres, når en privilegeret bruger senere ser de gemte data.
Jeg udelader bevidst lav-niveau exploit kode - du har ikke brug for det for at beskytte dit websted, og at dele det offentligt ville risikere at muliggøre angribere.
Angrebsscenario i den virkelige verden
- Angriberen får en forfatterkonto (phishing, svage legitimationsoplysninger, registrering, social engineering).
- Angriberen opretter eller ændrer en indlægstitel for at inkludere en JavaScript payload (f.eks. indlejret script eller begivenhedsattributter).
- Plugin'et gemmer den titel eller bruger den til at generere billede alt-tekst uden at escape.
- En redaktør/admin ser indlægsliste, indlægredigeringsværktøj, mediepanel eller enhver side, hvor plugin'et udskriver alt-tekst eller titelindhold i adminområdet eller front-end i en u-escaped kontekst.
- Angriberens JavaScript kører i den admin-brugers browser. Fordi scriptet kører med administratorens rettigheder i browseren, kan det:
- Stjæle cookies eller auth tokens og sende dem til angriber-kontrollerede endpoints.
- Udløse administrative handlinger via AJAX endpoints.
- Upload en bagdør eller ændre indhold.
- Angriberen bruger de stjålne legitimationsoplysninger/sessionen til fuldt ud at kompromittere siden.
Fordi sårbarheden er gemt, kan udnyttelsesvinduet være langt - payloaden forbliver aktiv, indtil den fjernes.
Indikatorer for kompromittering (hvad man skal se efter)
- Uventede eller ukendte indlægstitler, der inkluderer HTML-tags, script-snippets eller begivenhedsegenskaber som
en fejl=. - Usædvanlig admin-aktivitet, især fra konti, der er forfattere eller har lavere privilegerede roller.
- Advarsler fra malware-scannere, der viser mistænkelige scripts i indlæg, sider eller postmeta.
- Nye admin-brugere oprettet pludselig eller uventede ændringer i brugerroller.
- Ændrede plugin- eller tema-filer, uforklarlige PHP-filer i
wp-indhold/uploads, eller ukendte planlagte opgaver (cron jobs). - Udbundne forbindelser til ukendte endepunkter, der stammer fra serverlogs.
- WAF-logs, der blokerer XSS-lignende anmodninger eller viser gentagne POSTs med scriptindhold.
Hvis du ser nogen af disse, antag at kontoen eller siden kan være kompromitteret og reager straks (se afsnittet om hændelsesrespons nedenfor).
Øjeblikkelige skridt til at beskytte din side (anvend nu)
- Opdater plugin'et
- Hvis du kører Image Alt Text Manager (Alt Manager), opdater straks til version 1.8.3 eller nyere.
- Brug WordPress Dashboard eller WP-CLI:
wp plugin opdatering alt-manager --version=1.8.3 - Hvis automatiske opdateringer er aktiveret, skal du bekræfte, at opdateringen blev anvendt korrekt.
- Hvis du ikke kan opdatere med det samme
- Deaktiver plugin'et midlertidigt, indtil du kan anvende patchen.
- Alternativt, begræns adgangen til plugin-funktioner (hvis plugin'et tilbyder kapabilitetskontroller) eller deaktiver plugin-hooks, der behandler titler (kræver udviklerhjælp).
- Gennemgå forfatter- og bidragyderkonti
- Revider brugerconti med publicerings/redigeringsrettigheder. Fjern eller nedgrader eventuelle ubetroede konti.
- Kræv stærke adgangskoder og nulstil straks adgangskoder for konti med forhøjede rettigheder, hvis du mistænker kompromittering.
- Aktivér/styrk beskyttelser
- Håndhæv 2FA for redaktør/admin-brugere.
- Sørg for, at filredigering er deaktiveret i
wp-config.php:define('DISALLOW_FILE_EDIT', sand); - Sørg for, at sikre cookie-indstillinger (HTTPOnly, Secure, SameSite) er på plads via hosting eller et sikkerhedsplugin.
- Anvend WAF-regler / virtuel patching (hvis tilgængelig)
- Udrul generiske WAF-regler for at blokere anmodninger, der indeholder script-tags eller
på*attributter i POST-data, der retter sig mod oprettelse/redigering af indlæg. - Bloker payloads, der indeholder
"<script","javascript:","onerror=","onload=", eller mistænkelige kodede ækvivalenter. - Hvis du bruger en administreret firewall, der tilbyder virtuel patching, skal du aktivere den for at blokere kendte udnyttelsesmønstre, mens du opdaterer plugin'et.
- Udrul generiske WAF-regler for at blokere anmodninger, der indeholder script-tags eller
- Scann dit websted
- Kør en malware-scanning på tværs af filer og database (indlæg, postmeta).
- Tjek for nye PHP-filer i uploads eller plugins, ukendte cron-jobs og mistænkelige admin-brugere.
- Backup og snapshot
- Tag en fuld backup (filer + database), før du starter remedieringsarbejdet.
- Opbevar backups offline og uforanderlige, hvor det er muligt.
Hvis du er blevet kompromitteret - tjekliste for hændelsesrespons
- Isolere
- Tag midlertidigt siden offline eller sæt den i vedligeholdelsestilstand for at forhindre yderligere skade.
- Hvis muligt, blokér mistænkelige IP-adresser eller deaktiver indkommende trafik, mens du undersøger.
- Bevar beviser
- Eksporter logs (webserver, PHP, firewall/WAF), database dump og eventuelle relaterede artefakter til retsmedicinsk analyse.
- Rotér legitimationsoplysninger og hemmeligheder
- Nulstil alle admin- og redaktøradgangskoder.
- Rotér API-nøgler, OAuth-tokens, SSH-nøgler og eventuelle applikationsnøgler, der bruges på siden.
- Fjern ondsindet indhold
- Rens injicerede scripts i indlæg, postmeta eller indstillinger.
- Fjern mistænkelige PHP-filer fra uploads eller wp-content.
- Geninstaller kerne-, tema- og plugin-filer fra betroede kilder.
- Gen-scann og valider
- Kør malware-scanninger og filintegritetskontroller igen.
- Bekræft fjernelse af bagdøre ved at tjekke for vedholdenhedsmekanismer (cron-jobs, databaseindstillinger, planlagte begivenheder).
- Genaktiver tjenester forsigtigt.
- Bring siden op igen bag en WAF med strenge regler.
- Overvåg logfiler nøje for reinfektion.
- Handlinger efter hændelsen
- Udfør en årsagsanalyse: hvordan fik angriberen adgang på forfatterniveau?
- Implementer hærdningsforanstaltninger (se nedenfor).
- Underret berørte parter, hvis politikker for databrud kræver det.
Hvis du ikke er komfortabel med at udføre disse trin, så engager en sikkerhedsprofessionel eller en administreret sikkerhedstjeneste.
Hvordan en WAF og virtuel patching kan hjælpe - praktiske foranstaltninger.
En korrekt konfigureret webapplikationsfirewall (WAF) kan give dig tid og blokere udnyttelsesforsøg, mens du patcher:
- Virtuel patching: WAF-regler kan udformes til at opdage og blokere ondsindede payloads specifikke for denne sårbarhed uden at ændre plugin-kode. Eksempler på regelmønstre inkluderer:
- POST-anmodninger til
wp-admin/post.phpeller til REST API-endepunkter, hvor indlægstitler indsendes, der indeholder"<script"eller begivenhedshåndterere (onerror, onload). - HTML-kodede scripts sekvenser (script) og obfuskerede payloads, der ofte bruges til at omgå naive filtre.
- Anmodninger med mistænkelige kombinationer som <img src= onerror= eller data:, base64 payloads i titelfelter.
- POST-anmodninger til
- Ratebegrænsning og IP-blokering: dæmpe eller blokere gentagne lovovertrædere og kendte dårlige IP-adresser.
- Inputfiltrering: blokere indlæg, der indeholder HTML/script i titelfelter og tvinge server-side sanitering.
- Overvågning og signaturer: alarmer når forsøg matcher kendte udnyttelsessignaturer.
Vigtig: WAF-regler skal være afbalancerede for at undgå falske positiver, der bryder legitimt redaktionelt indhold. Administrerede WAF-udbydere justerer typisk signaturer til WordPress-arbejdsgange.
Detektions tips (hvad man skal overvåge i logs)
- Webserver adgangslogs
- Se efter POSTs til
/wp-admin/post.phpeller REST-endepunkter med mistænkelige payload-længder eller usædvanlige tegn.
- Se efter POSTs til
- Applikationslogfiler
- WordPress debug.log, hvis aktiveret, kan afsløre fejl eller anomal aktivitet.
- WAF / firewall logs
- Gentagne blokeringer af anmodninger med script-tags eller
på*attributter.
- Gentagne blokeringer af anmodninger med script-tags eller
- Database
- SELECT-forespørgsler for indlægstitler, der indeholder “<" eller "script" strenge:
SELECT ID, post_title FROM wp_posts WHERE post_title LIKE ‘%<script%’ ELLER post_title LIKE ‘%onerror=%’;
- SELECT-forespørgsler for indlægstitler, der indeholder “<" eller "script" strenge:
- Malware scanner output
- Alarmer for scripts i indlæg eller for PHP-filer i uploads.
Brug automatiseret alarmering til at informere webstedsejere, hvis nogen af disse anomalier optræder.
Hærdning & forebyggelse (bedste praksis)
At beskytte dit WordPress-websted mod plugin-sårbarheder er en kontinuerlig proces. Vedtag følgende praksisser for at reducere risikoen:
- Princippet om mindste privilegier
- Giv kun forfatterrollen, hvor det er strengt nødvendigt. Foretræk bidragyder for ikke-pålidelige skribenter (de skal have deres indhold godkendt).
- Gennemgå brugerroller kvartalsvis.
- To-faktor autentificering (2FA)
- Kræv 2FA for alle brugere med publicerings/redigeringsrettigheder.
- Automatiske opdateringer & patch-håndtering
- Hold kerne, temaer og plugins opdateret. Brug staging til at teste opdateringer før produktion, hvor det er muligt.
- Plugin livscyklusstyring
- Fjern ubrugte plugins og temaer. Inaktive plugins er også et angrebsoverflade.
- Sikkerhedskopier
- Oprethold regelmæssige, testede sikkerhedskopier gemt offsite. Hold inkrementelle sikkerhedskopier og mindst én langsigtet sikkerhedskopi.
- Hærd HTTP-overskrifter
- Håndhæve Content Security Policy (CSP) for at reducere XSS-påvirkningen.
- Indstil X-Content-Type-Options: nosniff, X-Frame-Options: DENY, Referrer-Policy, Strict-Transport-Security (HSTS).
- Sikre konfiguration
- Deaktiver filredigering inden for WordPress (DISALLOW_FILE_EDIT).
- Brug sikre salte og opdater
wp-config.phpindstillinger for sikkerhed.
- Regelmæssig scanning
- Brug malware-scanning til filer og databaseindhold. Overvåg for ændringer med filintegritetsmonitorering.
- Adgangskontroller og logning
- Begræns admin-adgang efter IP, hvor det er muligt.
- Aktivér revisionslogning for brugerhandlinger og indholdsændringer.
- Administreret virtuel patching hvor det er nødvendigt
- Når en patch ikke kan anvendes straks, kan virtuel patching via WAF betydeligt reducere risikoen.
Hvorfor opdatering alene ikke altid er nok
Opdatering er den mest effektive handling, men det kan være utilstrækkeligt, hvis en angriber allerede har udnyttet sårbarheden og etableret vedholdenhed. Derfor bør du:
- Kombinere opdatering med en fuld sitescanning og retsmedicinsk kontrol.
- Nulstil adgangskoder og roter nøgler.
- Fjern mistænkeligt indhold og filer oprettet efter sårbarhedsafsløringsdatoen.
- Gennemgå logs for at finde det oprindelige kompromitteringspunkt.
Hvordan WP-Firewall beskytter WordPress-websteder (praktiske fordele)
Hos WP-Firewall bygger vi løsninger med to kerne mål for øje: stoppe udnyttelsesforsøg før de sker og give lag af afhjælpning, når et problem opstår.
Nøglebeskyttelser, der reducerer risikoen fra sårbarheder som denne:
- Administreret firewall + WAF
- Blokerer almindelige og målrettede udnyttelsesforsøg (inklusive gemte XSS-mønstre) ved kanten.
- Forhindrer ondsindede payloads i at nå WordPress-endepunkter.
- Malware-scanner & indholdsmonitorering
- Registrerer mistænkelige scriptinklusioner i indlæg, postmeta og filer.
- Advarer om pludselige indholdsændringer og uautoriserede PHP-filer i uploads.
- OWASP Top 10 afbødning
- Regler og politikker, der specifikt adresserer injektion, XSS, brudt autentifikation og andre almindelige udnyttelsesklasser.
- Virtuel patching (Pro-plan)
- Når en presserende sårbarhed offentliggøres, kan regler for virtuel patching anvendes straks for at stoppe udnyttelsesforsøg, mens du patcher pluginet.
- Automatisk afhjælpningsmuligheder (Standard / Pro)
- Automatiseret oprydning og filafhjælpning hjælper med at reducere opholdstiden for malware.
- Logs + rapportering (Pro)
- Detaljerede månedlige rapporter og aktivitetslogs hjælper dig med at opdage angreb og træffe informerede beslutninger.
Hvis du har brug for at holde dit site online og sikkert, mens du opdaterer dusinvis eller hundreder af sites, er en WAF + virtuel patching-kombination den hurtigste risikoreducerende handling, du kan tage.
Praktiske WAF-regel eksempler (konceptuelle, ikke-udnyttende)
Nedenfor er konceptuelle eksempler på de typer af WAF-filtre, der kan mindske gemte XSS-forsøg. Disse er IKKE udnyttelsespayloads; de er generiske detektionsheuristikker, der er beregnet til at være sikre og praktiske:
- Bloker HTML-tags inde i titelfelter
- Hvis POST-parameter
post_titleindeholder tegnet<, flag og blokér.
- Hvis POST-parameter
- Bloker begivenhedshåndterere i inputfelter
- Hvis et felt indeholder mønstre som
en fejl=elleronload=, blokér anmodningen.
- Hvis et felt indeholder mønstre som
- Bloker kodede script tags
- Hvis input indeholder
scripteller lignende kodninger, bloker.
- Hvis input indeholder
- Begræns hastigheden for mistænkelig oprettelse af indlæg fra enkelt IP-adresser
- Dæmp forfatter-niveau konti, der opretter mange indlæg, der indeholder HTML.
Note: Omhyggelig justering er afgørende for at undgå falske positiver for legitimt indhold. Brug et staging-miljø til at forfine reglerne.
Tjekliste: Hvad du skal gøre lige nu
- Identificer om Image Alt Text Manager (Alt Manager) er installeret, og tjek dens version.
- Opdater plugin'et til 1.8.3 eller nyere straks.
- Hvis du ikke kan opdatere, deaktiver plugin'et, indtil du kan.
- Gennemgå brugerkonti med Author+/publish muligheder og fjern eller omfordel ikke-pålidelige konti.
- Håndhæv 2FA for redaktører/admins og stærke adgangskoder.
- Udfør en fuld malware-scanning af filer og databaseindhold.
- Gennemgå server- og WAF-logfiler for mistænkelige POSTs eller blokerede XSS-forsøg.
- Implementer virtuel patching/WAF-regler for at blokere forsøg på udnyttelse, mens du udbedrer.
- Hvis du opdager kompromittering, følg tjeklisten for hændelsesrespons ovenfor.
Ny: Sikker din side med WP-Firewall — Gratis beskyttelse for at komme i gang
Titel: Prøv vores gratis beskyttelseslag for øjeblikkelig sikkerhed
Hvis du gerne vil have en nem måde at reducere eksponering, mens du anvender opdateringer og hårdføring, tilbyder WP-Firewall en grundlæggende gratis plan, der giver essentielle beskyttelser for WordPress-websteder:
- Essentiel beskyttelse: administreret firewall, ubegrænset båndbredde, WAF, malware-scanner og afbødning af OWASP Top 10-risici.
Dette gratis lag er designet til at blokere de mest almindelige udnyttelsesforsøg og hurtigt opdage ondsindet indhold. Du kan tilmelde dig og aktivere denne beskyttelse på få minutter:
https://my.wp-firewall.com/buy/wp-firewall-free-plan/
Hvis du har brug for mere avancerede funktioner — automatisk malwarefjernelse, IP-håndtering, månedlige sikkerhedsrapporter eller virtuel patching — er Standard- og Pro-planer tilgængelige for at give et ekstra lag af automatisering og afhjælpning.
FAQs (Hurtige svar på almindelige spørgsmål)
Spørgsmål: Min side bruger plugin'et, men kun forfattere opretter indhold. Er jeg sikker?
EN: Ikke nødvendigvis. Hvis forfattere kan offentliggøre (eller forberede indhold, som redaktører/admins vil se), kan gemt XSS udnyttes, når en privilegeret bruger senere indlæser en visning, der gengiver de ikke-escaped data. Begræns offentliggørelsesrettigheder og opdater plugin'et.
Spørgsmål: Skal jeg fjerne plugin'et helt?
EN: Hvis du ikke kan opdatere med det samme, er deaktivering af plugin'et et sikkert midlertidigt skridt. Hvis plugin'et ikke længere er nødvendigt, reducerer afinstallation din angrebsflade.
Spørgsmål: Kan en WAF beskytte mig helt?
EN: En WAF er et meget effektivt afbødningslag og kan blokere mange udnyttelsesforsøg, men det er ikke en erstatning for patching. Brug en WAF som en umiddelbar forsvar, mens du anvender rettelser og udfører oprydning.
Spørgsmål: Hvad hvis jeg allerede er blevet hacket?
EN: Følg tjeklisten for hændelsesrespons: isoler, bevar beviser, roter legitimationsoplysninger, fjern ondsindet indhold, og scan grundigt. Hvis nødvendigt, engager professionelle afhjælpningsservices.
Afsluttende ord — prioriter opdateringer og lagdelte forsvar
Denne gemte XSS-sårbarhed er en rettidig påmindelse om, at tredjeparts plugins er en førende kilde til WordPress-risiko. Den hurtigste vej til sikkerhed er at opdatere til patched versioner — men reel modstandsdygtighed kommer fra lagdelte forsvar:
- Hold software opdateret.
- Håndhæv stærke adgangskontroller.
- Brug en WAF og malware-scanner til at blokere og opdage angreb.
- Oprethold sikkerhedskopier og en testet hændelsesresponsplan.
Hvis du administrerer flere websteder eller har eksterne bidragydere, overvej at bruge administrerede forsvar og virtuel patching for at reducere eksponering, mens du opretholder en streng patching-plan.
Hvis du ønsker hjælp til at vurdere eksponering på din side, implementere WAF-regler eller køre en retsmedicinsk scanning, kan vores sikkerhedsteam hjælpe. Start med det gratis beskyttelseslag for at få øjeblikkelig WAF og scanning, og evaluer derefter Standard- eller Pro-planer for automatisk fjernelse og virtuel patching.
Hold dig sikker — og opdater det plugin.
