CVE-2026-105933: Apache Pulsar: Namespace encryption requirement not enforced after a failure during topic initialization

Published Oct 21, 2026
·
Updated

Apache Pulsar allows an administrator to require end-to-end message encryption for all topics in a namespace by setting the encryptionrequired namespace policy. When this policy is set, the broker rejects messages that are published without encryption.

When the broker loads a persistent topic, it reads the namespace policies and the topic-level policies as part of topic initialization. If a step of this initialization fails, for example because of an error reading from the metadata store, a failure loading the topic-level policies or a failure in a later initialization step, the broker logs a warning, disables the encryption requirement for that topic, and completes the topic load as if it had succeeded. The topic is then served with encryptionrequired not enforced, even though the namespace policy requires it. Topic-level policies that could not be loaded are also not applied.

While the encryption requirement is not enforced, an authenticated client with permission to produce to the affected topic can publish messages that are not encrypted, and the broker accepts and stores them. This applies both to producers created after the topic was loaded and to producers that were already connected. Messages published with encryption remain encrypted; the issue does not expose the content of encrypted messages or the encryption keys.

The condition is not limited to transient failures. If the cause of the initialization failure persists, the encryption requirement is disabled again each time the topic is loaded, for example after a topic unload, a namespace bundle reassignment or a broker restart. An update to the namespace policies restores enforcement on a loaded topic, but only until the topic is loaded again. Enforcement is reliably restored only once the underlying cause of the failure has been resolved and the topic has been loaded again. The broker logs a warning when the encryption requirement is disabled, but the topic load is reported as successful and the state of the encryption requirement is not shown in the topic statistics.

In fixed versions, a failure during topic initialization causes the topic load to fail so that it can be retried, instead of loading the topic with the encryption requirement disabled.

This issue affects Apache Pulsar versions from 1.22.0-incubating before 4.0.14 and from 4.1.0 before 4.2.5.

- 4.0.x version users should upgrade to at least 4.0.14. - 4.1.x and 4.2.x version users should upgrade to at least 4.2.5.

Users operating versions prior to those listed above should upgrade to the aforementioned patched versions or newer versions.

The currently supported Apache Pulsar release lines are 4.0.x and 5.0.x. The supported versions schedule is available at https://pulsar.apache.org/contribute/release-policy/.

Users who rely on encryptionrequired and cannot upgrade immediately can monitor the broker logs for warnings containing "isEncryptionRequired will be set to false" (the exact wording of the message differs between releases), resolve the underlying cause of the failure, and then reload the affected topic and confirm that the warning does not recur.

Affected Software

1 affected component
Apache Pulsar>=1.22.0-incubating<4.0.14, >=4.1.0<4.2.5

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade Apache Pulsar to a version that resolves this vulnerability.

    Fixed in 4.0.14
  2. Upgrade

    Upgrade Apache Pulsar to a version that resolves this vulnerability.

    Fixed in 4.2.5
  3. Operational

    If upgrading is not immediately possible, monitor broker logs for warnings containing "isEncryptionRequired will be set to false" (wording may differ by release), resolve the underlying topic-initialization failure, reload the affected topic, and confirm the warning does not recur.

Event History

Oct 21, 2026
CVE Published
via MITRE·06:07 PM
Data Sourced
via MITRE·06:07 PM
DescriptionWeakness

Frequently Asked Questions

1

Which topics are exposed to unencrypted publishing?

Persistent topics in namespaces where encryption_required is set are exposed if the broker encounters a failure while initializing the topic and then completes the load with the encryption requirement disabled.

2

What access does an attacker need to exploit this condition?

The attacker must be an authenticated client with permission to produce to the affected topic. They can then publish messages without encryption while the requirement is not enforced.

3

Are other topic-level controls affected by the initialization failure?

Yes. Topic-level policies that could not be loaded during initialization are also not applied to the affected topic.

4

How can operators identify a potentially affected topic?

The broker logs a warning when the initialization failure occurs and it disables the encryption requirement for the topic. Operators should investigate warnings associated with persistent-topic loading, metadata-store reads, or topic-level policy loading.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203