Scott Percival created GUACAMOLE-1972: -----------------------------------------
Summary: Client incorrectly handles Unicode codepoints greater than U+FFFF Key: GUACAMOLE-1972 URL: https://issues.apache.org/jira/browse/GUACAMOLE-1972 Project: Guacamole Issue Type: Bug Components: guacamole-client Reporter: Scott Percival When accepting input from the browser, Guacamole will try and convert the UTF-16 buffer provided by Javascript into UTF-8 bytes. However the parser does not take into account [surrogate pairs|[https://en.wikipedia.org/wiki/UTF-16#Code_points_from_U+010000_to_U+10FFFF]] - meaning that any Unicode codepoint greater than U+FFFF (e.g. most of the emoji range) will be wrongly treated as two UTF-16 characters, resulting in an invalid byte sequence being sent to the server. The proposed fix is to use `String.prototype.codePointAt` instead of `String.prototype.charCodeAt`, along with validation that the character in question is a surrogate pair. -- This message was sent by Atlassian Jira (v8.20.10#820010)