Skip to content

LogPipeline: NotAuthenticatedException on ingest path — isRoot not checked #2513

Description

@netmstnet

Bug

LogPipelineService.loadPipelines() fails with NotAuthenticatedException: A user should be logged in to read record of Log Pipeline. on every cache refresh (60s). This makes LogPipeline non-functional for ALL ingested data.

Root cause

PublicPermission.checkIfUserIsLoggedIn() checks userId and userType but NOT props.isRoot. The loadPipelines() call passes isRoot: true (because it's a system/internal operation during ingest), but this flag is ignored.

Where

Common/Server/Types/Database/Permissions/PublicPermission.ts line 32:

if (!this.isPublicPermissionAllowed(modelType, type) && !props.userId) {

Missing: props.isRoot and props.isMasterAdmin check.

Reproduction

  1. Deploy OneUptime v10.8.2 (Docker Compose)
  2. Create a LogPipeline + LogPipelineProcessor via UI or DB
  3. Send syslog data to /syslog/v1/logs
  4. Check app logs: docker logs oneuptime-app-1 | grep NotAuthenticated
  5. Every 60s: NotAuthenticatedException: A user should be logged in to read record of Log Pipeline.

Fix

if (props.isRoot || props.isMasterAdmin) {
  return;
}

if (!this.isPublicPermissionAllowed(modelType, type) && !props.userId) {

Impact

LogPipeline completely non-functional. All pipelines silently fail to load. No error surfaced to the user — just empty pipeline cache forever.

Environment

OneUptime v10.8.2 Community Edition, Docker Compose, syslog ingestion via /syslog/v1/logs.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions