> ## Documentation Index
> Fetch the complete documentation index at: https://translations.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> CVE-2021-32641: Actualización de seguridad de la biblioteca Auth0 Lock

# CVE-2021-32641: Actualización de seguridad de la biblioteca Auth0 Lock

**Publicado**: 4 de junio de 2021

**Número de CVE**: CVE-2021-32641

<div id="overview">
  ## Descripción general
</div>

Las versiones anteriores e incluida la `11.30.0` son vulnerables a un XSS reflejado. Un atacante puede ejecutar código arbitrario cuando se cumple cualquiera de estas condiciones:

* Se utiliza la funcionalidad `flashMessage` de la biblioteca y se incorpora entrada del usuario o datos de parámetros de la URL en `flashMessage`.

O bien

* Se utiliza la funcionalidad `languageDictionary` de la biblioteca y se incorpora entrada del usuario o datos de parámetros de la URL en `languageDictionary`.

<div id="am-i-affected">
  ## ¿Me afecta?
</div>

Esta vulnerabilidad le afecta si su implementación se ajusta a cualquiera de estas descripciones:

<div id="flashmessage-vulnerability">
  ### vulnerabilidad de `flashMessage`
</div>

Si se cumplen todas estas condiciones, eres vulnerable:

* Usas la versión `11.30.0` o una anterior de `auth0-lock`.
* Usas la funcionalidad `flashMessage`.
* Se incorporan entradas del usuario o datos de parámetros de URL en `flashMessage`.

Este es un ejemplo de un fragmento vulnerable en el que se usan parámetros de consulta para rellenar la propiedad `text` de un `flashMessage`:

```javascript lines theme={null}
var params = new URLSearchParams(location.search);

var errorMessage = params.get('error__message');
var showParams = {};

if (!!errorMessage === true) {
  showParams.flashMessage = {
    type: 'error',
    text: 'We were unable to log you in. ' + errorMessage,
  };
}

lock.show(showParams);
```

<div id="languagedictionary-vulnerability">
  ### Vulnerabilidad de `languageDictionary`
</div>

Si se cumplen todas estas condiciones, eres vulnerable:

* Usas la versión `11.30.0` o una anterior de `auth0-lock`.
* Usas la funcionalidad `languageDictionary`.
* La entrada del usuario o los datos de los parámetros de la URL se usan en las propiedades de `languageDictionary`.

Este es un ejemplo de un fragmento vulnerable que usa parámetros de consulta para rellenar la propiedad `socialLoginInstructions` de un `languageDictionary`:

```javascript lines theme={null}
var params = new URLSearchParams(location.search);
var instruction = params.get('instruction');

var options = {
  languageDictionary: {
    emailInputPlaceholder: "something@youremail.com",
    title: "title",
    socialLoginInstructions: instruction
  },
};

var lock = new Auth0LockPasswordless(
    CLIENT_ID,
    DOMAIN,
    options
);

lock.show();
```

<div id="how-to-fix-that">
  ## ¿Cómo se corrige?
</div>

Actualiza a la versión `11.30.1` de `auth0-lock`.

<div id="will-this-update-impact-my-users">
  ## ¿Afectará esta actualización a mis usuarios?
</div>

La corrección usa [DOMPurify](https://github.com/cure53/DOMPurify) para sanitizar las entradas `flashMessage` y `languageDictionary`. Elimina cualquier código JavaScript de estos campos, como etiquetas `script` o atributos `onclick`.
