Description
phlex is an open source framework for building object-oriented views in Ruby. There is a potential cross-site scripting (XSS) vulnerability that can be exploited via maliciously crafted user data. The filter to detect and prevent the use of the `javascript:` URL scheme in the `href` attribute of an `<a>` tag could be bypassed with tab `\t` or newline `\n` characters between the characters of the protocol, e.g. `java\tscript:`. This vulnerability is fixed in 1.10.1, 1.9.2, 1.8.3, 1.7.2, 1.6.3, 1.5.3, and 1.4.2. Configuring a Content Security Policy that does not allow `unsafe-inline` would effectively prevent this vulnerability from being exploited.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| phlex-ruby | phlex | >= 1.10.0, < 1.10.1, >= 1.9.0, < 1.9.2, >= 1.8.0, < 1.8.3, >= 1.7.0, < 1.7.2, >= 1.6.0, < 1.6.3, >= 1.5.0, < 1.5.3, >= 1.4.0, < 1.4.2 | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| RubyGems | phlex | >= 1.10.0, < 1.10.1 | 1.10.1 | GHSA-g7xq-xv8c-h98c |
| RubyGems | phlex | >= 1.9.0, < 1.9.2 | 1.9.2 | GHSA-g7xq-xv8c-h98c |
| RubyGems | phlex | >= 1.8.0, < 1.8.3 | 1.8.3 | GHSA-g7xq-xv8c-h98c |
| RubyGems | phlex | >= 1.7.0, < 1.7.2 | 1.7.2 | GHSA-g7xq-xv8c-h98c |
| RubyGems | phlex | >= 1.6.0, < 1.6.3 | 1.6.3 | GHSA-g7xq-xv8c-h98c |
| RubyGems | phlex | >= 1.5.0, < 1.5.3 | 1.5.3 | GHSA-g7xq-xv8c-h98c |
| RubyGems | phlex | < 1.4.2 | 1.4.2 | GHSA-g7xq-xv8c-h98c |
References
- https://github.com/phlex-ruby/phlex/security/advisories/GHSA-g7xq-xv8c-h98c
- https://github.com/phlex-ruby/phlex/commit/9e3f5b980655817993682e409cbda72956d865cb
- https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy
- https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy#unsafe-inline