aws / aws/aws-dynamodb-encryption-java

NPE if using CachingMostRecentProvider to decrypt records without "amzn-ddb-meta-id"

オープン
#144 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Java
スター
141
フォーク
74
PR マージ指標
30日以内にマージされた PR はありません

説明

### Problem:

If a user attempts to use a CachingMostRecentProvider to decrypt a record that *does* contain a mat-desc, but that mat-desc does not contain the key value "amzn-ddb-meta-id," they get an NPE. This can happen if a user tries to encrypt with another one of our providers then decrypt with the CachingMostRecentProvider.

### Solution:

Instead, users should get a more friendly error that decryption was unable to succeed.

### Out of scope:

The CachingMostRecentProvider is not intended to interoperate with other providers.

[//]: # (NOTE: If you believe this might be a security issue, please email aws-security@amazon.com instead of creating a GitHub issue. For more details, see the AWS Vulnerability Reporting Guide: https://aws.amazon.com/security/vulnerability-reporting/ )

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

issue に記載されている CachingMostRecentProvider の復号パスから始め、"amzn-ddb-meta-id" を持たない mat-desc がどのように処理されるかを追跡します。別の Provider によって暗号化されたレコードを使ってこのケースを再現し、NPE ではなく分かりやすいエラーで復号に失敗することを確認します。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
java
領域
security
issue の種類
バグ
難易度
2/5
見積もり時間
1〜3時間
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
45/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。