Text setting may be rendered as unsafe HTML
Investigates merchant-configurable text rendered as HTML without sanitization.
| Detail | Value |
|---|---|
| Check ID | TEXT_SETTING_HTML_SMUGGLING |
| Severity | High |
| How it runs | Agent review |
Metafields and metaobjects outside your app-owned namespace are lower-trust input, even when your app is the only app that writes them, because other installed apps can overwrite them. HTML or script stored in a shared namespace isn't trusted content. To find these values, see SHARED_NAMESPACE_METAFIELD_RENDER.
Metafields and metaobjects outside your app-owned namespace are lower-trust input, even when your app is the only app that writes them, because other installed apps can overwrite them. HTML or script stored in a shared namespace isn't trusted content. To find these values, see SHARED_NAMESPACE_METAFIELD_RENDER.
Anchor to Vulnerable exampleVulnerable example
app/components/BannerPreview.tsx
Anchor to How to fixHow to fix
Render settings as text or sanitize with a strict allowlist.
app/components/BannerPreview.tsx
- Escape every value for its context, the best practice that this check supports
shopify app security check, the command that runs this check- All app security checks
- Shared-namespace metafield rendered as active content, which reports values that other apps can write