CVE-2023-33187
html inputs of type password recorded in plaintext when converted to text inputs
Impact
### Impact Highlight may record passwords on customer deployments when a password html input is switched to `type="text"` via a javascript "Show Password" button. This differs from the expected behavior which always obfuscates `type="password"` inputs. A customer may assume that switching to `type="text"` would also not record this input; hence, they would not add additional `highlight-mask` css-class obfuscation to this part of the DOM, resulting in unintentional recording of a password value when a `Show Password` button is used. ### Patches `highlight.run@6.0.0` resolves the issue via https://github.com/rrweb-io/rrweb/pull/1184 This patch tracks changes to the `type` attribute of an input to ensure an input that used to be a `type="password"` continues to be obfuscated. ### Workarounds We have deployed a change to our data ingest to obfuscate passwords server side from older clients. This means that upgrading to the latest version of highlight.run is not necessary but recommended to prevent potential network transfer of recorded password data to our backend. ### References https://github.com/rrweb-io/rrweb/pull/1184
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| npm | highlight.run | < 6.0.0 | 6.0.0 |
Affected products
| Vendor | Product | Affected versions |
|---|---|---|
| Highlight | Highlight | before 6.0.0 |