Skip to content

Comments

fix(security): secure unauthenticated NZBDav import endpoints#317

Merged
javi11 merged 14 commits intojavi11:mainfrom
drondeseries:fix/nzbdav-security
Feb 23, 2026
Merged

fix(security): secure unauthenticated NZBDav import endpoints#317
javi11 merged 14 commits intojavi11:mainfrom
drondeseries:fix/nzbdav-security

Conversation

@drondeseries
Copy link
Contributor

Description

This PR addresses a security vulnerability where the NZBDav import endpoints were accessible without authentication.

Changes

  • Moved the following endpoints behind the global JWT authentication middleware in internal/api/server.go:
    • POST /api/import/nzbdav
    • POST /api/import/nzbdav/reset
    • GET /api/import/nzbdav/status
    • DELETE /api/import/nzbdav

Security Impact

  • Prevents unauthenticated users from triggering imports, resetting import status, or viewing sensitive import information.
  • Manual file import and Arrs webhook endpoints remain accessible to external tools as they correctly implement their own API key verification.

Verification

  • Confirmed that accessing these endpoints without a valid token now returns 401 Unauthorized.
  • Validated that authenticated requests continue to function correctly.

- increase base font sizes and restore table header legibility

- increase touch target sizes for buttons and checkboxes

- fix layout padding and wrapping issues on mobile

- add mobile navbar logo & configuration shortcut

- enhance config panels with higher border and background contrast
Moved the NZBDav import endpoints behind the global JWT authentication middleware to prevent unauthenticated access. Previously, these endpoints (status, reset, import, cancel) were publicly accessible, allowing unauthorized users to trigger imports or view import status.

The manual file import and Arrs webhook endpoints remain outside the JWT middleware as they implement their own API key verification logic.
@javi11 javi11 merged commit 4818f4e into javi11:main Feb 23, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants