32°N Security Findings MSS SK 2026 0002

MSS-SK-2026-0002

Plugin auth bypass via appCopy routing methods

Summary

src/interfaces/plugins.ts:571 creates a shallow copy of Express via _.assign({}, app, {...}) and passes it to plugins. Express routing methods (app.get/post/...) register routes on the root Express instance, bypassing the /plugins/{id}/ admin auth middleware. ARCHITECTURAL ROOT CAUSE — 12+ confirmed plugin findings are downstream symptoms.

Impact

Any installed plugin can mount unauthenticated HTTP endpoints. Privilege-broadening: admin install becomes LAN-reachable endpoint.

Proof of concept

research/audits/signalk/exploits/0002-appCopy-bypass.js/

  • 0002-appCopy-bypass.js — single-file