mirror of
git://git.gnupg.org/gnupg.git
synced 2025-01-02 12:01:32 +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 (cherry picked from commit 13f135c7a252cc46cff96e75968d92b6dc8dce1b)
This commit is contained in:
parent
0f8fd95ab3
commit
2326851c60
@ -638,7 +638,11 @@ proc_plaintext( CTX c, PACKET *pkt )
|
|||||||
if( pt->namelen == 8 && !memcmp( pt->name, "_CONSOLE", 8 ) )
|
if( pt->namelen == 8 && !memcmp( pt->name, "_CONSOLE", 8 ) )
|
||||||
log_info(_("NOTE: sender requested \"for-your-eyes-only\"\n"));
|
log_info(_("NOTE: sender requested \"for-your-eyes-only\"\n"));
|
||||||
else if( opt.verbose )
|
else if( opt.verbose )
|
||||||
log_info(_("original file name='%.*s'\n"), pt->namelen, pt->name);
|
{
|
||||||
|
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 );
|
free_md_filter_context( &c->mfx );
|
||||||
c->mfx.md = md_open( 0, 0);
|
c->mfx.md = md_open( 0, 0);
|
||||||
/* fixme: we may need to push the textfilter if we have sigclass 1
|
/* fixme: we may need to push the textfilter if we have sigclass 1
|
||||||
|
Loading…
x
Reference in New Issue
Block a user