Skip to content

[Security] Do not expose CDC shutdown exception details to API clients #259

Description

@seonghobae

Defect

Protected develop currently returns IOException.getMessage() directly from POST /api/cdc/stop when CDC shutdown fails. Exception messages at this boundary can contain filesystem paths, broker/host details, connector identifiers, or other operational internals and therefore should not be reflected to an unauthenticated/untrusted API client.

RCA

  • Immediate cause: CdcController.stopCdc() concatenates the raw exception message into the HTTP 500 body.
  • Root cause: this older endpoint predates the repository's newer bounded/problem-detail error-handling conventions and has no regression asserting diagnostic confidentiality.
  • Impact: internal operational details can cross the public HTTP trust boundary during shutdown failures.

Bounded acceptance

Use strict test-first repair from the exact current protected develop head. RED must inject an IOException containing unmistakably sensitive diagnostic text and prove the HTTP response does not contain that text. GREEN should return a stable generic 500 message while preserving the status and stop invocation. Do not log or otherwise re-expose the injected secret-shaped diagnostic. Run the focused controller test and the full hosted reactor, and keep inherited/shared scanner or coverage governance blockers separate from this source defect.

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions