VDB
Sign up
MEDIUM

GHSA-8423-w5wx-h2r6

Pannellum has a XSS vulnerability in hot spot attributes

Quick fix

GHSA-8423-w5wx-h2r6 — pannellum: upgrade to the fixed version with the command below.

npm install pannellum@2.5.7

Details

### Impact The hot spot `attributes` configuration property allowed any attribute to be set, including HTML event handler attributes, allowing for potential XSS attacks. This affects websites hosting the standalone viewer HTML file and any other use of untrusted JSON config files (bypassing the protections of the `escapeHTML` parameter). As certain events fire without any additional user interaction, visiting a standalone viewer URL that points to a malicious config file—without additional user interaction—is sufficient to trigger the vulnerability and execute arbitrary JavaScript code, which can, for example, replace the contents of the page with arbitrary content and make it appear to be hosted by the website hosting the standalone viewer HTML file.

### Patches This has been fixed both in v2.5.7 and in the current development branch.

### Workarounds Setting the `Content-Security-Policy` header to `script-src-attr 'none'` will block execution of inline event handlers, mitigating this vulnerability. Don't host `pannellum.htm` on a domain that shares cookies with user authentication to mitigate XSS risk.

### Acknowledgments

Reported both by luminary (@lumin9ry), Visvge (@Sicclord1 / @Visvge), and sutol (@0x5a6163 / @SUT0L) and by another researcher who wishes not to be named at this time.

Are you affected?

Enter the version of the package you're using.

Affected packages

npm/pannellum
Introduced in: 2.5.0Fixed in: 2.5.7
Fixnpm install pannellum@2.5.7

References