Skip to content

Email notification settings API returns the stored SMTP password #5987

Closed

Description

@ramonsmits

Symptoms

GET /api/notifications/email on the ServiceControl error instance returns the stored SMTP password in the authentication_password field. Every caller that can read the email notification settings can read the password.

Who's affected

Users of ServiceControl 4.17.0 to 6.21.1 who configured email notifications with an SMTP account and password. Turning email notifications off does not remove a stored password.

Who can read the settings:

  • Authentication disabled (the default): every caller that can reach the API.
  • Authentication and role-based authorization enabled: every role, including reader.

Root cause

The API returned the stored email notification settings object, including the password. ServicePulse read the password into the settings form and sent it back on save. The save replaced the stored password with the value from the request.

Confirmed workarounds

  • Change the password of the SMTP account, and limit what the account can send. See securing the SMTP account.
  • If email notifications are not needed, remove the SMTP account and password from the email notification settings.

Backported to

Original bug report

Describe the bug

The email notification settings API returns the SMTP password. The password is a credential for the customer's mail system. It must not leave the instance.

Additional information

  • Affected versions: 4.17.0 to 6.21.1.
  • From 6.21.2, the password is write-only:
    • GET /api/notifications/email does not return the password.
    • A save with an empty password keeps the stored password.
    • A save with a new password replaces the stored password.
    • A save without an account removes the stored password.
  • The password is still stored in the ServiceControl database. See securing the SMTP account.
  • After the upgrade, change the password of the SMTP account if untrusted callers could reach the ServiceControl API.

Activity

  1. ramonsmits commented on Oct 9, 2026

    @ramonsmits
    MemberAuthor
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

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions