> ## Documentation Index
> Fetch the complete documentation index at: https://docs-dev-fix-docs-5528-php-updates.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# CVE-2019-20174：Auth0 Lockライブラリーのセキュリティ更新

> CVE-2019-20174：Auth0 Lockライブラリーのセキュリティ更新

**公開日** ：2020年1月30日

**CVE番号** ：CVE-2019-20174

**著者** ：Muhamad Visat

## 概要

Auth0 Lockバージョン11.20.4以前は、生成されたHTMLコードを適切にサニタイズしませんでした。`additionalSignUpFields`のカスタマイズオプションを使用してサインアップダイアログにチェックボックスを追加しており、これが信頼できないソースから取得した`placeholder`プロパティ（クエリパラメーターなど）を渡している場合、サインアップページにクロスサイトスクリプティング（XSS）を許してしまう可能性があります。

## 自分は影響を受けますか？

以下の条件がすべて当てはまる場合には、この脆弱性の影響を受けます。

* Auth0 Lockバージョン11.20.4以前を使用している。
* Lockを初期化するときにオプションとして`additionalSignUpFields`を渡しており、これに信頼できないソースから取得した`placeholder`値のある`checkbox`タイプのフィールドが含まれている。

以下は脆弱なスニペットの例で、`placeholder`値が`name`クエリパラメーターによって部分的にユーザーに制御されています。

```html lines theme={null}
<script>
    var params = new URLSearchParams(window.location.search);
    var options = {
        auth: {
            redirectUrl: 'http://localhost:12345/callback',
            responseType: 'code',
            params: {
                scope: 'openid email',
            },
        },
        additionalSignUpFields: [{
            name: 'agree',
            type: 'checkbox',
            placeholder: "I agree to Terms & Conditions for " + params.get('name'),
        }],
    };
    var lock = new Auth0Lock('<CLIENT_ID>', '<TENANT_NAME>.auth0.com', options);
    lock.show({
        allowShowPassword: true,
        initialScreen: 'signUp',
    });
</script>
```

## 修正方法

Auth0のLockサインインソリューションを使用している開発者は、バージョン11.21.0以降にアップグレードする必要があります。バージョン11.21.0では2つの変更が導入されました。

1. 問題を軽減するために、既存の`placeholder`プロパティがプレーンテキストとして扱われるようになりました。
2. 提供する制御レベルを示し、その値は信頼できるソースからのみ提供されるべきことを示す、新しい`placeholderHTML`プロパティが導入されました。

## この更新はユーザーに影響を与えますか？

この修正により、Auth0 Lockウィジェットにパッチが適用され、アプリケーションコードの変更が必要になる可能性がありますが、ユーザーとその現在の状態、既存のセッションには影響はありません。

この`placeholder`プロパティと信頼できるソースからのHTMLコンテンツを使用している開発者は、同じユーザー体験を提供し続けるために`placeholderHTML`プロパティを使用し始める必要があります。
