Content Injection via TileJSON attribute

Module: mapbox.js

Published: October 24th, 2015

Reported by: John Firebaugh, Juan Broullón Sampedro

CVE-NONE

CWE-

Vulnerable: <1.6.5 || < 2.1.7 > 2.0.0
Patched: >=1.6.5 <2.0.0 || >= 2.1.7

Overview

Mapbox.js versions 1.x prior to 1.6.5 and 2.x prior to 2.1.7 are vulnerable to a cross-site-scripting attack in certain uncommon usage scenarios.

If you use L.mapbox.map or L.mapbox.tileLayer to load untrusted TileJSON content from a non-Mapbox URL, it is possible for a malicious user with control over the TileJSON content to inject script content into the "attribution" value of the TileJSON which will be executed in the context of the page using Mapbox.js.

Such usage is uncommon. The following usage scenarios are not vulnerable:

  • only trusted TileJSON content is loaded
  • TileJSON content comes only from mapbox.com URLs
  • a Mapbox map ID is supplied, rather than a TileJSON URL

Remediation

Upgrade to Mapbox.js version 2.1.7. If you are still using a 1.x version and unable to upgrade to 2.1.7, upgrade to 1.6.5.

References

Sign up FREE for
nsp Continuous Security

Free for open source and the first private repo,
then just $1/mo per private repo