Created attachment 3588 [details] display prompt for different versions The the function conv() is called by a service module to set pam_message which msg_style is PAM_TEXT_INFO and msg contains escape characters,such as QR code. In version 8.1p1, display prompt can display correctly when using the ssh command to login,but,In version 8.6p1, prompt msg show no escape. Display results will be provided in the attachment. According to source code analysis, it is caused by function asmprintf() which is called in line 1942 of file sshconnect2.c
This was added to prevent a malicious server from conducting preauth terminal control sequence attacks via this mechanism (while still allowing valid utf-8).
Note that this still allows through valid UTF-8 encoded unicode characters, so you could still display QR codes via characters like https://www.fileformat.info/info/unicode/char/2588/index.htm Tools like qrencode support this, e.g. "qrencode -t utf8 https://bugzilla.mindrot.org"
I forgot to paste the actual QR code generated: █████████████████████████████████████ █████████████████████████████████████ ████ ▄▄▄▄▄ █▀▀ ██▀ █▄ ▄██ ▄▄▄▄▄ ████ ████ █ █ █▄▀████▄▀▀▄▀ ▀█ █ █ ████ ████ █▄▄▄█ █ ▄ █▄█▄ ▄█▀▀▀█ █▄▄▄█ ████ ████▄▄▄▄▄▄▄█ █ ▀▄█▄█ ▀▄█ █▄▄▄▄▄▄▄████ ████▄ ▀▄█▀▄ █▀█▄▀ ▄█ █▄█▀▀ ▄▄▀▄▄▀████ ███████▀▀▄▄█▀▀▀▀ ▀▄█ ▄█▄▄█▄█▀▄ █████ ███████▄▀ ▄█▀█▄▀▀▄█ █▄█ ▄▄█▄█▄▄████ ████ ▀ █▀█▄█▀█▄ █ █▀▀▀▀▄ ███ ▄ ▄████ ██████▀▄▄▀▄▄▄▄████▀█ ▄▀█▄ ▀▀█▀█▄▀████ ████▄█▄█▄▄▄▀█▄▄▀▄█ ██ ▄█▀ ▀▄▄██ ████ ████▄█▄█▄█▄▄▀▄▄ █▄▀▄ ▀█ ▄▄▄ █ ▀▀████ ████ ▄▄▄▄▄ █▄▀ █▀▀█▀█▄▀█ █▄█ ▀▀▄█████ ████ █ █ █▀▀█▄█ █▄▄▄▄█ ▄ ▄ ▀▀ █████ ████ █▄▄▄█ █▀▄█ ▀▀██▀▀ ▀█▀ ▄▄▀▄████ ████▄▄▄▄▄▄▄█▄█▄█▄███▄▄█▄▄▄██▄▄█▄█████ █████████████████████████████████████ █████████████████████████████████████ (it might not render perfectly in the browser, some fonts seem to have broken metrics that cause the block character to be wider than whitespace, even for monospace fonts - try changing fonts if it looks broken)