Skip to main content

AWS Lambda Powertools EUVDEUVD-2026-91063

| CVE-2026-104002 MEDIUM
Detection of Error Condition Without Action (CWE-390)
2026-10-01 AMZN
6.0
CVSS 4.0 · Vendor: AMZN
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Access data sink (logs/storage)
  2. Delivery
    Masking rule errors during processing
  3. Exploit
    Library fails open, returns raw value
  4. Execution
    Sensitive field written unmasked
  5. Impact
    Read 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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

powertools-lambda-python 3.6.0 ≤3.34.0

Affected Packages

euvd powertools_lambda_python no fix

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

Vendor (AMZN) PRIMARY 6.0 MEDIUM
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
vuln.today AI 5.3 MEDIUM

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.

3.1 AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:H/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (AMZN).

CVSS VectorVendor: AMZN

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

1
CVSS changed
Oct 01, 2026 - 22:22 NVD
5.3 (MEDIUM) 6.0 (MEDIUM)

DescriptionCVE.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

EPSS Score
0.3%
Top 79% exploitable
Prevalence
Medium
popular AWS serverless library, but Data Masking is an opt-in utility
Data Quality
6 sources
Confidence: High

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

30
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +30
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

More in AWS

View all
CVE-2026-103956 CRITICAL POC
10.0 Oct 02

Loom for AWS deployments running a version before 1.6.1 with no identity provider configured expose an unauthenticated s

CVE-2026-27702 CRITICAL POC
9.9 Feb 25

Unauthorized data access in Budibase low-code platform before 3.30.4 allows unauthenticated users to manipulate internal

CVE-2025-64709 CRITICAL POC
9.9 Nov 13

Authenticated Typebot users can abuse the webhook block (HTTP Request component) in versions prior to 3.13.1 to issue ar

CVE-2020-37153 CRITICAL POC
9.8 Feb 11

Multiple vulnerabilities in ASTPP 4.0.1 including XSS and command injection in SIP device configuration and plugin manag

CVE-2026-87911 CRITICAL POC
9.0 Sep 09

Remote code execution in Amazon awslabs postgres-mcp-server before 1.1.7 lets remote actors run arbitrary OS commands on

CVE-2026-11393 HIGH POC
8.8 Jun 08

Remote code execution in AWS AgentCore CLI before v0.14.2 allows authenticated attackers to inject Python code via craft

CVE-2026-18140 HIGH POC
8.7 Jul 30

Denial of service in the aws-smithy-json Rust runtime crate (versions before 0.62.7) lets remote unauthenticated attacke

CVE-2026-16756 HIGH POC
8.7 Jul 23

Denial of service in Amazon's aws-smithy-http-server Rust crate (versions prior to 0.66.5) lets remote unauthenticated a

CVE-2026-16796 HIGH POC
8.4 Jul 23

Argument injection in the AWS Bedrock AgentCore Python SDK before 1.18.1 lets a remote authenticated user run arbitrary

CVE-2026-9133 HIGH POC
8.3 May 20

Arbitrary file read in amazon-mq rabbitmq-aws before 0.2.1 allows authenticated remote users to read any file accessible

CVE-2026-13763 HIGH POC
7.9 Jun 29

WAF managed-rule body inspection on AWS Application Load Balancer (ALB) can be bypassed by remote actors who fragment an

CVE-2026-13762 HIGH POC
7.9 Jun 29

WAF inspection bypass in Amazon CloudFront (with AWS WAF enabled) lets remote actors smuggle malicious request bodies pa

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy