[pkg-gnupg-maint] Bug#1074127: gnupg2: write_status_text_and_buffer fails to escape some non-printable characters
Andreas Metzler
ametzler at bebt.de
Wed Jun 26 17:47:53 BST 2024
Control: forwarded -1 https://dev.gnupg.org/T7176
On 2024-06-24 Baptiste Beauplat <lyknode at debian.org> wrote:
> On Mon, 2024-06-24 at 18:43 +0200, Andreas Metzler wrote:
> > Thank you, I have forwarded this to the upstream tracker.
> Thanks a lot.
> To give out a bit more context, we got an python Exception on
> mentors.debian.net triggered by an upload, signed by sq (Sequoia).
> The tool apparently adds a random binary salt to the signature as
> notation data, which is then present in the status output.
> We read the status output as utf-8 encoded data (perhaps wrongfully)
> and python failed to decode the output because the salt was neither
> escaped properly nor valid utf-8 output.
> I do expect we will not be the only one affected by this issue.
> I'd like to point out that other function in gpg seem to escape char
> over 127 (such as in `print_hashline` from `g10/gpg.c`).
[...]
Hello,
This has been closed upstream as not-a-bug with the following rationale:
| The point here is to escape control characters so that we do not run
| into problems when reading the stuff. Escaping non-ascii (c >127) is
| not required and would put a lower limit on the number of (utf-8)
| characters we can print via the status lines.
| Note also that we use almost everywhere ascii versions of the
| character checks. Thus I would not consider this a bug.
And later:
| Reading the original bug report it is clear that this is not a gpg bug
| but a problem in the Python code. This should only be read as utf-8 if
| the NOTATION_FLAGS line indicated that this is human readable.
In my test with sqop no NOTATION_FLAGS were set for the salt.
cu Andreas
--
`What a good friend you are to him, Dr. Maturin. His other friends are
so grateful to you.'
`I sew his ears on from time to time, sure'
More information about the pkg-gnupg-maint
mailing list