Patch bison for CVE-2026-56389, CVE-2026-56390[MEDIUM] - #18682
Patch bison for CVE-2026-56389, CVE-2026-56390[MEDIUM]#18682v-swapsahu wants to merge 2 commits into
Conversation
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |
|
Patch analysis CVE-2026-56389: print_html() no longer reads the xsltproc binary path from the attacker-controllable %define tool.xsltproc grammar directive; it is now hardcoded to "xsltproc", resolved via PATH. CVE-2026-56390: It adds valid_output_file_name() and applies it to both the %header and %output directives in src/parse-gram.y. This functionally matches the security-relevant part of the upstream commit. The Bison CVE hardening in #18260 was reverted in #18531 because it broke frr's %build. Why frr failed: The FRR build failure is caused by the Bison hardening changes introduced in CVE-2026-56390 ("tighten up output file names"). The patch adds the following validation: As a result, Bison now rejects any %output, %header, or %defines directive whose value contains a path separator (/). FRR's grammar contains: Both directives are therefore rejected with: During the build, Azure Linux runs autoreconf -ivf followed by configure, regenerating the build system from the .am files. FRR's lib/subdir.am overrides Automake's normal ylwrap handling and uses a custom suffix rule: Since no -o option is passed, Bison relies entirely on the in-grammar directives to determine the output locations: After the bison's CVE fix, those directives are rejected because they contain /, causing parser generation to fail. How the Fix Works For the target: lib/command_parse.c This preserves the original output layout while avoiding the hardened %output/%defines path validation. Verification Build logs after the change show Bison being invoked with the explicit output path:
Parser generation completes successfully, and the FRR build proceeds normally. Pipelines - Run PR-18682+bison+frr+unknown has been triggered and it has passed. Patch Application: |
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |



Merge Checklist
All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)
*-staticsubpackages, etc.) have had theirReleasetag incremented../cgmanifest.json,./toolkit/scripts/toolchain/cgmanifest.json,.github/workflows/cgmanifest.json)./LICENSES-AND-NOTICES/SPECS/data/licenses.json,./LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md,./LICENSES-AND-NOTICES/SPECS/LICENSE-EXCEPTIONS.PHOTON)*.signatures.jsonfilessudo make go-tidy-allandsudo make go-test-coveragepassSummary
Patch bison for CVE-2026-56389, CVE-2026-56390
Change Log
Bison:
Frr:
Does this affect the toolchain?
YES
Associated issues
Links to CVEs
Test Methodology
Patch Application:
Bison:
Frr: