Page MenuHome GnuPG

Cleartext Signature Forgery in NotDashEscaped header implementation in GnuPG
Testing, NormalPublic

Description

GnuPG has non-standard option --not-dash-escaped and it enables use of NotDashEscaped header.

In the implementation, g10/armor.c, the header line with NotDashEscaped is ignored, not included for the signature computation.

An attacker can mount this feature to add additional information with this header, so that not-so-careful user could misunderstand the information is covered by the signature.

Revisions and Commits

Event Timeline

gniibe created this object in space Restricted Space.
gniibe created this object with visibility "g10code (Project)".
gniibe created this object with edit policy "g10code (Project)".

This feature should be only enabled with a compatibility flag.

werner triaged this task as Normal priority.
werner added a subscriber: werner.

I agree because the original purpose from the 90ies to enable the use of signed patch files in the Linux kernel community was never actually used and GnuPG stopped the distribution of patches from version to version many years ago. Thus I agree we should hide this option behind a compatibility flag.

gniibe mentioned this in Unknown Object (Maniphest Task).Nov 10 2025, 2:51 AM
werner shifted this object from the Restricted Space space to the S1 Public space.Fri, Dec 26, 2:54 PM
werner changed the task status from Open to Testing.Mon, Dec 29, 7:13 PM
werner removed a project: g10code.
werner changed the visibility from "g10code (Project)" to "Public (No Login Required)".Mon, Jan 5, 11:26 AM