CVE-2026-27695
DynamoDB Throughput Throttling in zae-limiter Rate Limiting Library
Publication date: 2026-02-25
Last updated on: 2026-02-26
Assigner: GitHub, Inc.
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| zeroae | zae-limiter | to 0.10.1 (exc) |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-770 | The product allocates a reusable resource or group of resources on behalf of an actor without imposing any intended restrictions on the size or number of resources that can be allocated. |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
[{'type': 'paragraph', 'content': "CVE-2026-27695 is a vulnerability in the zae-limiter Python package (versions up to 0.10.0) related to how it uses DynamoDB for rate limiting. The issue arises because all rate limit buckets for a single entity share the same DynamoDB partition key, which causes a 'hot partition' problem."}, {'type': 'paragraph', 'content': "When an entity experiences high traffic, it can exceed DynamoDB's per-partition throughput limits (around 1,000 write capacity units per second). This leads to throttling, which degrades service availability for that entity and potentially for other entities sharing the same partition."}, {'type': 'paragraph', 'content': "Technically, each acquire() call triggers multiple write operations on items with the same partition key, and sustained high request rates can overwhelm DynamoDB's adaptive capacity, causing errors and delays."}, {'type': 'paragraph', 'content': 'The library lacks built-in mitigations such as partition key sharding, write coalescing, or client-side admission control, which exacerbates the problem.'}, {'type': 'paragraph', 'content': 'Version 0.10.1 fixes this issue by implementing a pre-shard bucket design that distributes load across multiple partitions to avoid throttling.'}] [1]
How can this vulnerability impact me? :
[{'type': 'paragraph', 'content': "This vulnerability can cause denial of service (DoS) for high-traffic entities using the zae-limiter library. Specifically, when an entity exceeds DynamoDB's per-partition throughput limits, requests can be throttled or rejected."}, {'type': 'paragraph', 'content': 'The impact includes high latency and rejected requests for the affected entity, which can degrade the user experience or disrupt service functionality.'}, {'type': 'paragraph', 'content': 'Additionally, because multiple entities share the same partition key, throttling can cause collateral degradation affecting other entities in the same partition.'}, {'type': 'paragraph', 'content': "In multi-tenant environments, one tenant's burst traffic can negatively impact others, increasing the risk of service instability or outages."}] [1]
How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:
I don't know
How can this vulnerability be detected on my network or system? Can you suggest some commands?
This vulnerability can be detected by monitoring DynamoDB metrics and application behavior related to the zae-limiter library. Specifically, look for increased DynamoDB ThrottledRequests metrics and latency spikes in acquire() calls. Additionally, observe if RateLimiterUnavailable exceptions are raised, which indicate throttling due to exceeding per-partition throughput limits.
Reproduction or detection steps include creating or identifying an entity with high rate limits (e.g., 100,000 requests per minute) and sending sustained traffic exceeding approximately 1,000 requests per second to that entity. This can cause DynamoDB adaptive capacity exhaustion and throttling.
Suggested commands or monitoring approaches include:
- Use AWS CloudWatch to monitor DynamoDB metrics, especially ThrottledRequests and ConsumedWriteCapacityUnits for the relevant tables and partitions.
- Check application logs for RateLimiterUnavailable exceptions raised by the zae-limiter library.
- Use AWS CLI commands such as `aws dynamodb describe-table --table-name <table-name>` to inspect table throughput and partition key usage.
- Generate high traffic load tests targeting specific entities to observe if throttling and latency issues occur.
What immediate steps should I take to mitigate this vulnerability?
The immediate mitigation is to upgrade the zae-limiter library to version 0.10.1 or later, which includes a fix that shards the DynamoDB partition keys to distribute write capacity and prevent hot partition throttling.
Additional mitigation steps include:
- Implement pre-sharding of rate limit buckets by modifying the partition key to include a shard identifier, isolating each shard into separate partitions.
- Use the updated library features such as shard selection, retry mechanisms on capacity exhaustion, and dynamic shard doubling to improve throughput and reduce throttling.
- Monitor DynamoDB write capacity usage and adjust reserved Write Capacity Units (WCU) per bucket to track and manage partition write pressure.
- Apply client-side admission control or rate limiting to avoid sustained request rates that exceed DynamoDB throughput limits.