Threat database
1,399 threats
Most recently published first
| Severity | CVSS | Signals | Threat | Source | Published | Score and star |
|---|---|---|---|---|---|---|
| High | 8.7 | EPSS 0.2% | CVE-2026-105937Apache Pulsar · Missing Authorization High8.7EPSS 0.2%CVE Database V5CVE-2026-105937 Apache Pulsar shadow topics (PIP-180) are topics that read the stored messages of a source topic from that topic's managed ledger. The source topic is selected by setting the reserved topic property PULSAR.SHADOW_SOURCE. The admin REST API accepts this property when creating a non-partitioned or partitioned topic and when updating the properties of an existing topic. On these paths the broker authorizes the caller only against the topic being created or updated. It does not authorize the caller against the source topic named in the property. The existing authorization for shadow topic configuration (the SHADOW_TOPIC topic policy on the source topic) is applied only to the source-side shadow topics admin API, not to these paths. As a result, an authenticated user who is allowed to create topics or update topic properties in one tenant can bind a topic in that tenant to a persistent topic in any other tenant. With the default authorization provider, these operations require the tenant admin role for the user's own tenant. The user does not need any permission on the source topic, its namespace or its tenant. This impact analysis assumes that Pulsar has been configured with the default authorization provider. For custom authorization providers, the impact could be different. The user can then consume from the shadow topic, using only permissions on their own topic, and receive retained messages that were published to the source topic in the other tenant. Exposure is limited to messages that are still retained and readable in the source topic's ledgers; messages protected with client-side end-to-end encryption cannot be decrypted without the encryption keys. A producer on the shadow topic can also register a new schema version under the source topic's schema, subject to the schema compatibility settings; existing schema versions are not replaced. In addition, the shadow topic's managed ledger applies its own retention, trimming, offloading and deletion to the source topic's ledgers. This can permanently delete the source topic's ledger data from BookKeeper and from tiered storage, regardless of the source topic's own subscriptions and retention policy, including messages that have not yet been acknowledged. Deleting the shadow topic can also delete the source topic's ledgers. This data loss can also affect shadow topics that were configured intentionally by administrators. This issue affects Apache Pulsar versions from 3.0.0 before 4.0.14 and from 4.1.0 before 4.2.5. Apache Pulsar 2.x releases do not contain the shadow topic implementation. - 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/. In the fixed versions, shadow topics are disabled by default and are controlled by the new broker configuration setting enableShadowTopics (default false). While it is disabled, the broker rejects creating shadow topics, setting the PULSAR.SHADOW_SOURCE property, and loading or replicating to existing shadow topics. Deployments that use shadow topics must set enableShadowTopics=true in the broker configuration of all brokers after upgrading; otherwise existing shadow topics will not be loaded. When shadow topics are enabled, binding a shadow topic to a source topic in a different tenant requires the superuser role. The fixed versions also prevent a shadow topic from deleting or trimming the ledgers and offloaded data of its source topic. Affected versions provide no configuration option to disable shadow topics. Users who cannot upgrade immediately can reduce exposure by granting the tenant admin role only to trusted principals. | CVE Database V5 | ||
| Medium | 5.3 | EPSS 0.4% | CVE-2026-105936Apache Pulsar · Missing Authorization Medium5.3EPSS 0.4%CVE Database V5CVE-2026-105936 The Pulsar Functions worker REST API provides two endpoints that return the catalog of Pulsar IO connectors installed on the functions worker: the worker connectors endpoint (/admin/v2/worker/connectors) and the deprecated functions connectors endpoint (/admin/v2/functions/connectors and /admin/v3/functions/connectors). When authorization is enabled, the worker connectors endpoint requires super-user access. The functions connectors endpoint, served both by the functions worker and by a broker running the functions worker, returns the same catalog without this check. As a result, when authentication and authorization are enabled, any authenticated client can read the connector catalog through the functions connectors endpoint, regardless of the permissions granted to its role and without super-user access. Unauthenticated requests are rejected unless anonymous access is configured with an anonymous user role. The catalog contains the connector type definitions installed in the functions worker's connectors directory: the connector name, its description, and the source, sink and configuration class names. It does not contain configured source or sink instances, their configuration values or credentials, and an installed connector type does not indicate that a connector is configured or running. The impact is limited to disclosure of this metadata, which can include the names and descriptions of custom connectors installed by the operator. The issue does not allow modifying the catalog or managing connectors. Connector definitions that have a source or sink class are also returned by the built-in sources and sinks endpoints to authenticated clients. In fixed versions, the functions connectors endpoint applies the same checks as the worker connectors endpoint, so that it requires super-user access when authorization is enabled. Clients that are not super-users can use the built-in sources and sinks endpoints to list the available connector types. This issue affects Apache Pulsar versions from 2.4.1 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/. | CVE Database V5 | ||
| Medium | 4.9 | EPSS 0.4% | CVE-2026-105935Apache Pulsar · Missing Authorization Medium4.9EPSS 0.4%CVE Database V5CVE-2026-105935 The Pulsar Functions Worker provides a REST API endpoint for triggering a function, which publishes a caller-supplied value to one of the function's configured input topics. The Functions Worker performs this publish with its own broker client, which authenticates with the Worker's configured broker-client credentials rather than the credentials of the API caller. When authorization is enabled, in Apache Pulsar 2.4.0 and later versions, the trigger endpoint checks only that the caller is authorized to perform function operations in the function's namespace. It does not check that the caller is authorized to produce to the input topic that the message is published to. Versions before 2.4.0 do not perform a caller authorization check for the trigger endpoint at all. Function input topics are not restricted to the function's own tenant or namespace, and registering a function does not require produce permission on its input topics. As a result, an authenticated user who is authorized to manage functions in a namespace, for example a role granted the functions permission on that namespace, can cause the Functions Worker to publish messages with caller-controlled content to a topic that the user is not authorized to produce to, including topics in other tenants. These messages are published under the identity of the Functions Worker. The issue does not require any function instance to be running or any function code to be executed. It requires that the Functions Worker's broker-client identity is itself authorized to produce to the target topic and, in Apache Pulsar 2.3.0 and later versions, to list the subscriptions of the target topic, as is the case when that identity is a superuser. The impact is on the integrity of the data in the affected topics: consumers of those topics may receive messages from a user who is not permitted to publish them. This concerns the Functions Worker REST API as called by an external, authenticated client; it does not change the security model for function code, which must be fully trusted. In fixed versions, when authorization is enabled, triggering a function additionally requires the caller to be authorized to produce to the selected input topic before any message is published. This issue affects Apache Pulsar versions from 2.0.0-rc1-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 of Apache Pulsar 2.4.0 and later versions with authorization enabled who cannot upgrade immediately can limit the permission to manage functions to trusted roles. Users of versions before 2.4.0 should restrict access to the Functions Worker REST API to trusted callers, because in these versions the trigger endpoint does not check the caller's permission to manage functions. | CVE Database V5 | ||
| High | 7.2 | EPSS 0.5% | CVE-2026-105934Apache Pulsar · Missing Authorization High7.2EPSS 0.5%CVE Database V5CVE-2026-105934 The Apache Pulsar broker admin REST API provides a truncate operation for persistent topics (DELETE /admin/v2/persistent/{tenant}/{namespace}/{topic}/truncate). Truncating a topic moves all subscription cursors of the topic to the end of the topic and deletes the topic's inactive ledgers. Truncating a non-partitioned topic, or a single partition addressed by its partition name, correctly requires the tenant admin role or the superuser role. When the operation is requested for the name of a partitioned topic, the broker does not apply this tenant admin check to the caller. Instead, it truncates each partition using the broker's own internal admin client, which authenticates with the broker's configured client credentials rather than the caller's identity. Each per-partition truncate request is still checked for the tenant admin role or the superuser role, but against the broker's internal identity instead of the caller. The partitions are therefore truncated only when the broker's configured client role is a superuser or an admin of the target tenant, which is the usual configuration when authorization is enabled. As a result, when that condition holds, an authenticated user who is not a tenant admin can truncate any partitioned topic on which the user has lookup permission. Caller authentication and lookup permission alone are not sufficient: if the broker's internal identity lacks tenant admin or superuser authorization for the target tenant, the per-partition requests are rejected. With the default authorization provider, lookup permission is granted by produce or consume permission on the topic or its namespace. A user with no permissions on the topic cannot trigger the issue. This impact analysis assumes that Pulsar has been configured with the default authorization provider. For custom authorization providers, the impact could be different. Truncating a partitioned topic this way moves the cursors of all subscriptions on every partition to the end of the topic, so any unacknowledged backlog is skipped and is no longer delivered to consumers. It also deletes eligible older ledgers of each partition regardless of the namespace's configured retention policy, so messages stored in those ledgers can be permanently lost. The ledger currently being written is not deleted by the truncate operation. The issue does not allow reading message contents or changing permissions or configuration, and it does not give access to topics on which the user has no lookup permission. This issue affects Apache Pulsar versions from 2.8.0 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 cannot upgrade immediately can reduce exposure by restricting network access to the broker's admin REST API (/admin/v2) to trusted administrative clients. | CVE Database V5 | ||
| Low | 2.3 | EPSS 0.3% | CVE-2026-105933Apache Pulsar · Failing Open Low2.3EPSS 0.3%CVE Database V5CVE-2026-105933 Apache Pulsar allows an administrator to require end-to-end message encryption for all topics in a namespace by setting the encryption_required 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 encryption_required 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 encryption_required 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. | CVE Database V5 | ||
| Low | 2.3 | EPSS 0.5% | CVE-2026-105932Apache Pulsar · Missing Authorization Low2.3EPSS 0.5%CVE Database V5CVE-2026-105932 The Apache Pulsar broker admin REST API provides endpoints to read, set and remove the topic-level entry filter policy of a topic. For persistent topics these endpoints check that the caller is authorized for the entry filters topic policy operation. The corresponding endpoints for non-persistent topics (/admin/v2/non-persistent/{tenant}/{namespace}/{topic}/entryFilters) do not perform this authorization check. The only authorization check these endpoints perform is an indirect lookup permission check, made while the topic's partition metadata is retrieved; it is present in all affected versions. As a result, when authentication and authorization are enabled, an authenticated user who has been granted produce or consume permission on a non-persistent topic, or on its namespace, but not permission to manage the topic's policies can read, replace or remove the topic-level entry filter policy of that topic. These operations should be restricted to users with the tenant admin role or the superuser role. This impact analysis assumes that Pulsar has been configured with the default authorization provider. For custom authorization providers, the impact could be slightly different. The practical impact is limited by two broker configuration requirements, neither of which is met by default: - Entry filters must have been installed by the operator. Entry filter implementations are loaded only at broker startup from the broker's entry filters directory, which is empty by default. A request can only select among entry filters the operator has already deployed; setting any other filter name is rejected. The issue does not allow a caller to install or load entry filter code or to run arbitrary code in the broker. - Topic-level entry filter policies must be allowed to override the broker-level configuration (allowOverrideEntryFilters, which is disabled by default). When this setting is disabled, the topic-level entry filter policy has no effect on message dispatch. In deployments where both conditions are met, an unauthorized user can remove the topic-level entry filter policy of a non-persistent topic, for example one used to restrict which messages are delivered to consumers, or apply a different installed entry filter that withholds messages from subscriptions of that topic. Removing it makes the topic fall back to the namespace-level or broker-level entry filters, which are not removed. A changed policy affects only subscription dispatchers created after the change, for example for new subscriptions or when a subscription is re-created after all of its consumers have disconnected; dispatchers that already exist keep the entry filters they were created with. Because non-persistent topics do not store messages, messages withheld by an entry filter are not delivered. Reading the policy discloses only the names of the configured entry filters. The issue does not allow reading message contents, and entry filters cannot modify message payloads. Persistent topics and namespace-level entry filter policies are not affected. Apache Pulsar versions before 3.3.0 are not affected, because in those versions the entry filters topic policy check is made in code shared by the persistent and non-persistent endpoints. This issue affects Apache Pulsar versions from 3.3.0 before 4.0.14 and from 4.1.0 before 4.2.5. - 3.3.x and 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 cannot upgrade immediately and have deployed entry filters should keep allowOverrideEntryFilters at its default value of false, so that topic-level entry filter policies do not affect message dispatch. | CVE Database V5 | ||
| Low | 2.3 | EPSS 0.5% | CVE-2026-105931Apache Pulsar · Missing Authorization Low2.3EPSS 0.5%CVE Database V5CVE-2026-105931 Apache Pulsar versions from 2.8.0 before 4.0.14 and from 4.1.0 before 4.2.5 have a missing authorization vulnerability in the transaction administration REST API. Authenticated users without permissions can read transaction metadata and statistics across tenant boundaries when transaction support is enabled. The vulnerability does not allow modification of transactions or access to message contents. Transaction support is disabled by default, limiting exposure if not used. | CVE Database V5 | ||
| Medium | 6.0 | EPSS 0.5% | CVE-2026-105930Apache Pulsar · Incorrect Authorization Medium6.0EPSS 0.5%CVE Database V5CVE-2026-105930 CVE-2026-105930 is an authorization vulnerability in Apache Pulsar affecting versions 2.8.0 before 4.0.14, 4.1.0 through 4.1.3, and 4.2.0 before 4.2.5. When package management is enabled, an authenticated user with permission to register or update functions, sources, or sinks in their own tenant namespace can access package contents stored in another tenant's namespace without having explicit permission. This issue leads to unauthorized disclosure of package contents but does not allow modification, deletion, or affect availability. The vulnerability requires both authentication and authorization to be enabled along with package management features, which are disabled by default. Patches are available in versions 4.0.14 and later for the 4.0.x line, and 4.2.5 and later for the 4.1.x and 4.2.x lines. | CVE Database V5 | ||
| Low | 2.3 | EPSS 0.4% | CVE-2026-105927Apache Pulsar · Incorrect Authorization Low2.3EPSS 0.4%CVE Database V5CVE-2026-105927 CVE-2026-105927 is an authorization vulnerability in Apache Pulsar's WebSocket service that allows an authenticated user with consume permission on a topic to inject messages into arbitrary topics via the dead letter policy configuration. The WebSocket service does not verify produce permissions on the dead letter topic, enabling unauthorized message injection. This issue affects Apache Pulsar versions from 2.3.0 before 4.0.14 and from 4.1.0 before 4.2.5. The vulnerability does not allow reading, modifying, or deleting existing messages, but injected messages may impact downstream applications depending on their processing logic. The WebSocket service is disabled by default and can be disabled as a mitigation if not required. | CVE Database V5 | ||
| Medium | 5.3 | EPSS 0.4% | CVE-2026-105926Apache Pulsar · Missing Authorization Medium5.3EPSS 0.4%CVE Database V5CVE-2026-105926 CVE-2026-105926 is a missing authorization vulnerability in Apache Pulsar affecting the broker's binary protocol schema commands GetSchema and GetOrCreateSchema. Authenticated clients without proper permissions could read schema definitions or register new schema versions on topics in other namespaces or tenants. This could lead to disclosure of schema details and potential disruption of producers and consumers due to schema incompatibility errors. The issue affects Pulsar versions from 2.2.0 before 4.0.14, 4.1.0 through 4.1.3, and 4.2.0 before 4.2.5. Fixed versions require appropriate topic permissions for these commands. | CVE Database V5 | ||
| Critical | 9.2 | EPSS 0.3% | Critical9.2EPSS 0.3%CVE Database V5CVE-2026-105869 Apache Pulsar versions from 2.8.1 before 4.0.14 and from 4.1.0 before 4.2.5 contain a vulnerability in the MultiRolesTokenAuthorizationProvider. This provider improperly authorizes clients based on roles listed in a JSON Web Token (JWT) without verifying the token's signature when fallback to an anonymous user role is enabled. This allows unauthenticated clients to forge or use unsigned tokens to gain arbitrary roles, potentially including super-user access, enabling unauthorized read and modification of tenants, namespaces, topics, permissions, and broker configuration. Deployments using the default authorization provider or without the anonymousUserRole setting are not affected. The issue is fixed in versions 4.0.14 and 4.2.5 and later. | CVE Database V5 | ||
| Medium | – | EPSS 0.2% | CVE-2026-90484Apache bRPC · NULL Pointer Dereference MediumEPSS 0.2%CVE Database V5CVE-2026-90484 The MySQL client response parser in Apache bRPC dereferences a null pointer when the server peer sends a zero-payload-length response packet. A response packet whose declared payload length is zero is accepted by the frame-length check (is_full_package), after which the parser reads the response type byte via an unbounded 5-byte fetch that returns nullptr, and type = p[4] dereferences it, crashing the client process. Root Cause: In brpc::policy::MysqlReply::ConsumePartialIOBuf, buf.fetch(header, 5) returns nullptr when the buffered data only holds the 4-byte header of a zero-length packet, then the code reads p[4] (and, in the fast-auth path, p2[4]) without checking for a null or zero-length packet. Affected Scenarios: A brpc MySQL client connecting to a malicious or compromised MySQL server (or a MITM) can be crashed by a zero-length server response packet, resulting in denial of service of the client. Fix: The fix rejects zero-length response packets (returning PARSE_ERROR_ABSOLUTELY_WRONG) both for the initial response type determination and after a fast-auth marker, before reading the type byte. Upgrade to the Apache bRPC version 1.18.0 or apply the PR patch at https://github.com/apache/brpc/pull/3536. | CVE Database V5 | ||
| Medium | – | EPSS 0.2% | CVE-2026-87849Apache bRPC · Out-of-bounds Read MediumEPSS 0.2%CVE Database V5CVE-2026-87849 The Discovery naming-service reply parser in Apache bRPC (versions < 1.18.0) calls RapidJSON object-only accessors (FindMember) on JSON values without first validating that those values are objects. A malformed Discovery response whose data/service members or instances list contain non-object entries (e.g. a bare integer) triggers the RapidJSON object-access precondition on the client, reading memory out of bounds and potentially crashing the bRPC client. Root Cause: In src/brpc/policy/discovery_naming_service.cpp, DiscoveryNamingService::GetServers() and DiscoveryNames::ListDiscoveryNodes() access JSON values with member functions on non-object values. RapidJSON only defines these operations for object types; invoking them on a non-object violates the class invariant and results in undefined behavior (out-of-bounds read), commonly crashing the process. Affected Scenarios: An operator-configured (or compromised) Discovery backend returns a malformed /discovery/nodes or /discovery/fetchs response whose data/service/instance entries are not JSON objects, crashing any bRPC client that refreshes its server list. How to Fix: 1. Upgrade bRPC to version 1.18.0 or later, which fixes this issue. 2. Apply this patch: https://github.com/apache/brpc/pull/3533 The fix validates that the Discovery response data, per-service data, and instance entries are JSON objects (and skips non-object node/instance entries and rejects non-object data/service values) before calling member accessors. | CVE Database V5 | ||
| High | – | EPSS 0.3% | CVE-2026-86249Apache bRPC · Improper Authentication HighEPSS 0.3%CVE Database V5CVE-2026-86249 On a brpc::Server that sets both ServerOptions.auth and ServerOptions.internal_port, the HTTP built-in service exemption on internal_port can be abused to bypass authentication entirely. VerifyHttpRequest() returns true without checking any credential when a built-in service is requested on internal_port, and this verdict is not per - request: verification runs only for the first message of a connection and the result latches the connection. Sending a request such as GET /status to internal_port first authenticates the whole connection, after which every subsequent request dispatched on the same connection is handled without ever calling VerifyHttpRequest(). This lets a remote attacker reach ordinary (non-built-in, non-tabbed) authenticated services without supplying valid credentials whenever the server uses ServerOptions.internal_port together with an Authenticator. The fix restricts internal_port so that it carries only built-in and Tabbed services; requests for ordinary services sent to internal_port are rejected with EPREM / HTTP 403. Mitigation / Fix: upgrade to 1.18.0 or apply PR https://github.com/apache/brpc/pull/3525 . Users who rely on serving normal services on internal_port must move those requests to the port passed to Server::Start(). | CVE Database V5 | ||
| High | – | EPSS 0.2% | CVE-2026-86147Apache bRPC · External Control of File Name or Path HighEPSS 0.2%CVE Database V5CVE-2026-86147 Apache bRPC versions prior to 1.18.0 contain vulnerabilities allowing remote attackers to control file paths and cause resource exhaustion. Attackers can exploit the builtin /flags service to create directories and overwrite files with server process privileges by manipulating dump path flags. Additionally, the /pprof service allows unbounded profiling durations, potentially causing denial of service by holding profiling resources indefinitely. These issues affect any bRPC server exposing builtin services to untrusted networks. | CVE Database V5 | ||
| High | – | EPSS 0.2% | CVE-2026-86146Apache bRPC · HTTP Request/Response Smuggling HighEPSS 0.2%CVE Database V5CVE-2026-86146 CVE-2026-86146 is a vulnerability in Apache bRPC versions prior to 1.18.0 involving inconsistent interpretation of HTTP/1.1 requests between bRPC and front-end proxies or load balancers. This inconsistency allows remote attackers to perform HTTP request/response smuggling by exploiting differences in header parsing, such as spaces before colons, interior spaces in Content-Length values, obsolete line folding, and chunked trailer handling. The issue can lead to request smuggling, header injection, and response desynchronization. Apache bRPC 1.18.0 fixes this vulnerability by rejecting these problematic header forms and changing how chunked trailers are processed. | CVE Database V5 | ||
| High | – | EPSS 0.2% | CVE-2026-84748Apache bRPC · Improper Authorization HighEPSS 0.2%CVE Database V5CVE-2026-84748 Apache bRPC versions prior to 1.18.0 contain an improper authorization vulnerability that allows remote attackers to access builtin services through the public port. This occurs because protobuf-based protocol dispatch paths do not enforce the intended security_mode flag, enabling unauthorized invocation of builtin services that expose sensitive runtime information. The issue affects configurations where the internal_port is set to restrict builtin services, but the public port remains reachable from untrusted networks with any protobuf-based protocol enabled. | CVE Database V5 | ||
| High | – | EPSS 0.2% | CVE-2026-84747Apache bRPC · Interpretation Conflict HighEPSS 0.2%CVE Database V5CVE-2026-84747 Apache bRPC versions prior to 1.18.0 contain an interpretation conflict in HTTP path handling that allows remote attackers to bypass access control rules enforced by a front proxy. This occurs because the server collapses consecutive slashes in request paths, treating distinct paths as equivalent, contrary to RFC 3986. Additionally, the HTTP/2 implementation fails to validate the :path pseudo-header properly, allowing malformed requests. These issues enable attackers to access resources that the front proxy intended to block. | CVE Database V5 | ||
| Medium | 5.4 | EPSS 0.3% | CVE-2026-84727Apache bRPC · Use After Free Medium5.4EPSS 0.3%CVE Database V5CVE-2026-84727 Use-after-free in the RTMP protocol implementation in Apache bRPC (version < 1.18.0) on all platforms allows a malicious RTMP peer to crash the process or potentially corrupt memory via a crafted Abort message. Root Cause: When processing an RTMP Abort (protocol control message type 2), the RTMP policy implementation deleted the target RtmpChunkStream object. The send path (RtmpUnsentMessage::AppendAndDestroySelf -> RtmpChunkStream::SerializeMessage) runs concurrently on sender threads and dereferences the same RtmpChunkStream object without synchronization. If a remote peer sends an Abort message naming a chunk stream that is concurrently being used to serialize an outgoing message, the stream object is freed while still in use, resulting in a use-after-free. Additionally, deleting the chunk stream discarded its previous message header, so subsequent compressed (type-3) chunk headers on that stream could no longer be decoded. Affected Scenarios: Any application using the bRPC RTMP protocol implementation (rtmp policy), either as an RTMP server or as an RTMP client, where the remote endpoint is untrusted. The attacker needs to send an Abort message targeting a chunk stream id that is concurrently used for sending, which can crash the process or lead to memory corruption. How to Fix: (Choose one of the following options) 1. Upgrade bRPC to version 1.18.0, which fixes this issue. 2. Apply this patch: https://github.com/apache/brpc/pull/3515 | CVE Database V5 | ||
| Medium | – | EPSS 0.2% | CVE-2026-82953Apache bRPC · NULL Pointer Dereference MediumEPSS 0.2%CVE Database V5CVE-2026-82953 A NULL pointer dereference vulnerability exists in Apache bRPC's RTMP protocol implementation prior to version 1.18.0. This flaw allows remote attackers to cause a denial of service by crashing the server when a crafted createStream command is sent and the client closes the connection prematurely. The issue arises when the server rejects a createStream request, returns a null stream, and then attempts to access a member of the null pointer during error handling. | CVE Database V5 |
Showing 21–40 of 1,399 results