mirror of
git://git.gnupg.org/gnupg.git
synced 2024-11-09 21:28:51 +01:00
gpg: Sanitize diagnostic with the original file name.
* g10/mainproc.c (proc_plaintext): Sanitize verbose output. -- This fixes a forgotten sanitation of user supplied data in a verbose mode diagnostic. The mention CVE is about using this to inject status-fd lines into the stderr output. Other harm good as well be done. Note that GPGME based applications are not affected because GPGME does not fold status output into stderr. CVE-id: CVE-2018-12020 GnuPG-bug-id: 4012
This commit is contained in:
parent
26746fe65d
commit
13f135c7a2
@ -851,7 +851,14 @@ proc_plaintext( CTX c, PACKET *pkt )
|
||||
if (pt->namelen == 8 && !memcmp( pt->name, "_CONSOLE", 8))
|
||||
log_info (_("Note: sender requested \"for-your-eyes-only\"\n"));
|
||||
else if (opt.verbose)
|
||||
log_info (_("original file name='%.*s'\n"), pt->namelen, pt->name);
|
||||
{
|
||||
/* We don't use print_utf8_buffer because that would require a
|
||||
* string change which we don't want in 2.2. It is also not
|
||||
* clear whether the filename is always utf-8 encoded. */
|
||||
char *tmp = make_printable_string (pt->name, pt->namelen, 0);
|
||||
log_info (_("original file name='%.*s'\n"), (int)strlen (tmp), tmp);
|
||||
xfree (tmp);
|
||||
}
|
||||
|
||||
free_md_filter_context (&c->mfx);
|
||||
if (gcry_md_open (&c->mfx.md, 0, 0))
|
||||
|
Loading…
Reference in New Issue
Block a user