GHSA-9qpj-qq2r-5mcc
html inputs of type password recorded in plaintext when converted to text inputs
Packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| npm | highlight.run | < 6.0.0 | 6.0.0 |
Details
As written in the advisory (Markdown source, shown as plain text).
### 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
`[email protected]` 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
References
External links from the advisory. They lead to third-party sites.