Skip to content

[Security] Defense-in-depth: no sender gating on privileged handlers; unvalidated DATA_IMPORT; redundant activeTab permission #68

Description

@Exotic209093

Severity

Low (defense-in-depth; not exploitable today — there is no external message surface).

Items

  1. The MessageBus dispatches purely on message.type; SF_EXECUTE_ANONYMOUS, SF_API_REQUEST, and DATA_IMPORT (which overwrites storage keys unvalidated) are reachable from any extension context (src/services/messaging/index.ts:154-178, src/services/storage/index.ts:581-608). Restrict Apex/raw-API/import handlers to message.source === 'app' | 'popup' and validate imported shapes.
  2. activeTab permission is redundant — the extension already holds persistent Salesforce host permissions plus tabs (public/manifest.json:10). Drop it for least-privilege (update docs/CHROME_WEB_STORE.md justifications to match).
  3. Minor hygiene: UI_SETTINGS_SET and STORAGE_PURGE_OLD error paths return bare {success: false} with no error or requestId (src/background/index.ts:568-576, :895-899).

Environment

Commit 74cf21b (main), WaveLink 0.6.0. Found in the 2026-08-31 adversarial audit (code-verified).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    securitySecurity or privacy risk

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions