This is the record of an abcd-managed repository

abcdBetav0.16.2 · 2026-11-06

Development record

The shell guard's unknown-word mark could be forged from the command line: an ANSI-C escape that decodes to NUL (a hex, octal, unicode or control escape) put the tokenizer's substitution mark into a word after Check had stripped the line's own NUL bytes, so an ANSI-C NUL glued before a blocked command's name made that name an unknown word compared as text, and every blocker allowed. bash ends an ANSI-C string at its first NUL and runs the name that follows. Found by review3-guard finding 1.

issueresolvedmajoriss-2609252020432185

The shell guard's unknown-word mark could be forged from the command line: an ANSI-C escape that decodes to NUL (a hex, octal, unicode or control escape) put the tokenizer's substitution mark into a word after Check had stripped the line's own NUL bytes, so an ANSI-C NUL glued before a blocked command's name made that name an unknown word compared as text, and every blocker allowed. bash ends an ANSI-C string at its first NUL and runs the name that follows. Found by review3-guard finding 1.

Grounds

  • pursued: every escaped-NUL spelling ahead of a blocked command name blocks, and no ANSI-C escape form puts the mark into a word (TestForgedMarkIsTruncatedLikeBash, TestAnsiCEscapeNeverDecodesTheMark); a decoded NUL reaching a word would show it wrong.

Frontmatter

idiss-2609252020432185
typeissue
lifecycleresolved
severitymajor

mentions1