VDB
Sign up
MEDIUM6.4

GHSA-j827-6rgf-9629

Layui has DOM Clobbering gadgets that leads to Cross-site Scripting

Quick fix

GHSA-j827-6rgf-9629 — layui: upgrade to the fixed version with the command below.

npm install layui@2.9.17

Details

### Summary A DOM Clobbering vulnerability has been discovered in `layui` that can lead to Cross-site Scripting (XSS) on web pages where attacker-controlled HTML elements (e.g., `img` tags with unsanitized `name` attributes) are present.

It's worth noting that we’ve identifed similar issues in other popular client-side libraries like Webpack ([CVE-2024-43788](https://github.com/webpack/webpack/security/advisories/GHSA-4vvj-4cpr-p986)) and Vite ([CVE-2024-45812](https://github.com/vitejs/vite/security/advisories/GHSA-64vr-g452-qvp3)), which might serve as valuable references.

### Backgrounds

DOM Clobbering is a type of code-reuse attack where the attacker first embeds a piece of non-script, seemingly benign HTML markups in the webpage (e.g. through a post or comment) and leverages the gadgets (pieces of js code snippet) living in the existing libraries to transform it into executable code.

### Impact

This vulnerability can lead to cross-site scripting (XSS) on websites that uses `layui` library and allow users to inject certain scriptless HTML tags with improperly sanitized `name` or `id` attributes.

### Patch

This problem has been patched in Layui 2.9.17. You can find the official fix announcement at: https://layui.dev/notes/share/security-currentscript.html

Are you affected?

Enter the version of the package you're using.

Affected packages

npm/layui
Introduced in: 0Fixed in: 2.9.17
Fixnpm install layui@2.9.17

References