Development record
termsafe.Sanitize leaves the variation selectors, about fifty other invisible format characters and the Hangul fillers unmasked. The variation selectors U+FE00-U+FE0F and U+E0100-U+E01EF, the Cf characters U+206A-U+206F, U+1D173-U+1D17A, U+13430-U+1343F and U+110BD, the Mongolian free variation selectors U+180B-U+180D, the Hangul fillers U+115F, U+1160, U+3164 and U+FFA0, the Braille blank U+2800, the line and paragraph separators U+2028 and U+2029 and the object replacement character U+FFFC each render as nothing or as blank space, so two byte strings can display identically and a run of selectors can carry a hidden payload past a reader (the Opus and Sonnet security reviews of fix/sec-build-next-series, round 2). They were not added blind: VS16 (U+FE0F) is legitimate in emoji, a heart followed by VS16 being the common case, and masking it would put a ? into ordinary text a repository writes.
termsafe.Sanitize leaves the variation selectors, about fifty other invisible format characters and the Hangul fillers unmasked. The variation selectors U+FE00-U+FE0F and U+E0100-U+E01EF, the Cf characters U+206A-U+206F, U+1D173-U+1D17A, U+13430-U+1343F and U+110BD, the Mongolian free variation selectors U+180B-U+180D, the Hangul fillers U+115F, U+1160, U+3164 and U+FFA0, the Braille blank U+2800, the line and paragraph separators U+2028 and U+2029 and the object replacement character U+FFFC each render as nothing or as blank space, so two byte strings can display identically and a run of selectors can carry a hidden payload past a reader (the Opus and Sonnet security reviews of fix/sec-build-next-series, round 2). They were not added blind: VS16 (U+FE0F) is legitimate in emoji, a heart followed by VS16 being the common case, and masking it would put a ? into ordinary text a repository writes.
Frontmatter
| id | iss-2610140720357027 |
|---|---|
| type | issue |
| lifecycle | open |
| severity | minor |
.abcd/work/issues/open/iss-2610140720357027-termsafe-sanitize-leaves-the-variation.md
open on GitHub ↗ · commit history ↗