Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAccess data sink (logs/storage)
-
DeliveryMasking rule errors during processing
-
ExploitLibrary fails open, returns raw value
-
ExecutionSensitive field written unmasked
-
ImpactRead exposed PII
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A10:2025 - Mishandling of Exceptional Conditions
ASVS 5.0
V16 - Security Logging and Error Handling Error detection with action
|
| Exploitation Conditions | Exposure occurs only in applications using the Powertools for AWS Lambda (Python) Data Masking utility AND only when a masking operation fails at runtime - specifically an invalid masking path, a regular expression that cannot be compiled, or a masking-provider failure. In versions before 3.35.0 such failures returned the original unmasked value with only a warning instead of raising. Limiting factors: the application must actually employ Data Masking on sensitive fields; a masking error must be triggered; and to benefit from the leak an actor needs access to the downstream destination (logs/storage) where the unmasked value is written. Applications without Data Masking, or whose masking rules never error, are not affected. |
| Impact | This is a genuine data-confidentiality weakness but a low-urgency one in real terms. The vendor CVSS of 5.3 (AV:N/AC:H/PR:L/UI:N, C:H only) captures the nature well: high confidentiality impact but gated behind high attack complexity because exposure only occurs when a masking operation errors out (invalid masking path, uncompilable regex, or a masking-provider failure), at which point pre-3.35.0 code 'failed open' and returned the original unmasked value with only a warning (CWE-390). No EPSS, KEV, or POC signals were provided, so exploitation status is 'no public exploit identified at time of analysis.' There is no indication of active exploitation or widespread targeting. Note a tension worth flagging: the CVSS is scored AV:N/PR:L as if a remote low-privileged attacker directly reads the value, but the described mechanism is really silent data leakage into downstream sinks (logs/storage) - realistic impact depends on an attacker or observer having access to those sinks, which the vector does not fully express. Verify the intended threat model with the AWS advisory. Overall: patch as routine hygiene rather than an emergency, prioritizing applications that actually use the Data Masking utility on sensitive fields. |
| Exploit ScenarioDerived | An application uses Powertools Data Masking to redact a sensitive field (e.g., customer email or PII) before logging a Lambda event. A masking rule that references an invalid path or an uncompilable regex silently fails, and the pre-3.35.0 library returns the original unmasked value; the sensitive data is then written to CloudWatch logs or persisted storage in cleartext, where anyone with log access can read it. No public exploit code is known; triggering requires a masking error condition to occur. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 01, 2026
Fail-open error handling in the Data Masking utility of Powertools for AWS Lambda (Python) before 3.35.0 can cause sensitive field values to be emitted unmasked into logs or storage whenever a masking operation fails at runtime. The flaw (CVSS 5.3, vector AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N) is only reachable in applications that actually apply Data Masking to sensitive fields, and only when a masking rule errors - an invalid masking path, a regular expression that cannot be compiled, or a masking-provider failure - after which the original value is returned with nothing more than a warning instead of an exception. There is no public exploit identified at time of analysis; this is a genuine data-confidentiality weakness but a low-urgency one in real terms, because the attacker must also obtain access to the downstream destination (log store or storage) where the unmasked value is written.
RemediationAI
Upgrade to Powertools for AWS Lambda (Python) version 3.35.0, which is the vendor-released patch and changes Data Masking to fail closed by raising DataMaskingError instead of returning the unmasked value; the release is available at https://github.com/aws-powertools/powertools-lambda-python/releases/tag/v3.35.0, with full details in the advisory at https://github.com/aws-powertools/powertools-lambda-python/security/advisories/GHSA-3vxg-4xv2-jfh5 and the AWS security bulletin at https://aws.amazon.com/security/security-bulletins/2026-123-aws/. If upgrading immediately is not possible, compensating controls must be applied at the call site since older versions cannot be made fail-closed through configuration: wrap every DataMasking.erase/encrypt/redact call in a try/except plus explicit validation of masking paths and regex_pattern patterns before use, and verify that the returned object is not identical to the input before allowing it to be logged - the trade-off is added per-call complexity and the risk of missing a code path. A stricter compensating control is to pre-compile and unit-test all masking rules at Lambda initialization so invalid paths and regexes fail at deploy time rather than at runtime, but this does not protect against masking-provider failures. Independently, restrict read access to the downstream destinations (CloudWatch Logs, S3, tracing backends) where masked data is written, since exfiltration requires read access to those sinks - this reduces impact but adds operational friction around legitimate log analysis. Also avoid setting raise_on_missing_field to a disabled value, as that reintroduces warning-and-continue behavior for missing fields, and review existing logs for any previously emitted unmasked sensitive values.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The affected component is the Data Masking utility shipped in the aws-lambda-powertools Python package (CPE cpe:2.3:a:aws:powertools-lambda-python:*:*:*:*:*:*:*:*), a library used inside AWS Lambda functions to erase, encrypt, or redact sensitive fields before they are logged, traced, or persisted. The root cause is class CWE-390 (Detection of Error Condition Without Action): when a masking operation encountered an error - a masking path that did not resolve, a regex_pattern that failed to compile, or a failure inside the masking provider - the pre-3.35.0 code caught the condition, emitted a warning, and returned the original input unchanged. Because callers received an apparently normal return value, they would continue logging or storing data on the false assumption that masking had succeeded, so the failure was silent from the caller's perspective. The 3.35.0 fix reverses this to fail-closed semantics: a new DataMaskingError base exception is raised on provider failure, invalid masking paths, and regex compilation errors, and existing Data Masking exceptions were re-parented under it (GitHub PR #8446). The vendor-maintained distinction remains that a missing field still honors the existing raise_on_missing_field setting - by default raising DataMaskingFieldNotFoundError, or warning and continuing only when that setting is explicitly disabled. The assessed vector's PR:L and AV:N reflect that this is library code operating on network-sourced event data, with the exposure contingent on both a runtime masking failure and the actor's ability to read the destination where the unmasked value lands.
Know when AWS gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Exposure requires a masking-error condition to occur (AC:H) and realistic access to the leaked data (PR:L); impact is confidentiality-only with no integrity or availability effect.
Primary rating from Vendor (AMZN).
CVSS VectorVendor: AMZN
Lifecycle Timeline
1DescriptionCVE.org
A fail-open error handling issue within the data masking utility of Powertools for AWS Lambda (Python) might allow actors to read sensitive field values that the application intended to mask.
To remediate this issue, users should upgrade to version 3.35.0.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Loom for AWS deployments running a version before 1.6.1 with no identity provider configured expose an unauthenticated s
Unauthorized data access in Budibase low-code platform before 3.30.4 allows unauthenticated users to manipulate internal
Authenticated Typebot users can abuse the webhook block (HTTP Request component) in versions prior to 3.13.1 to issue ar
Multiple vulnerabilities in ASTPP 4.0.1 including XSS and command injection in SIP device configuration and plugin manag
Remote code execution in Amazon awslabs postgres-mcp-server before 1.1.7 lets remote actors run arbitrary OS commands on
Remote code execution in AWS AgentCore CLI before v0.14.2 allows authenticated attackers to inject Python code via craft
Denial of service in the aws-smithy-json Rust runtime crate (versions before 0.62.7) lets remote unauthenticated attacke
Denial of service in Amazon's aws-smithy-http-server Rust crate (versions prior to 0.66.5) lets remote unauthenticated a
Argument injection in the AWS Bedrock AgentCore Python SDK before 1.18.1 lets a remote authenticated user run arbitrary
Arbitrary file read in amazon-mq rabbitmq-aws before 0.2.1 allows authenticated remote users to read any file accessible
WAF managed-rule body inspection on AWS Application Load Balancer (ALB) can be bypassed by remote actors who fragment an
WAF inspection bypass in Amazon CloudFront (with AWS WAF enabled) lets remote actors smuggle malicious request bodies pa
EUVD-2026-91063
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB