Skip to content

crash: update to 9.0.0 and rework how vendored gdb patches are applied#15426

Merged
jslobodzian merged 6 commits into3.0-devfrom
chrco/crash9
Jan 6, 2026
Merged

crash: update to 9.0.0 and rework how vendored gdb patches are applied#15426
jslobodzian merged 6 commits into3.0-devfrom
chrco/crash9

Conversation

@christopherco
Copy link
Copy Markdown
Collaborator

Merge Checklist

All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)

  • The toolchain has been rebuilt successfully (or no changes were made to it)
  • The toolchain/worker package manifests are up-to-date
  • Any updated packages successfully build (or no packages were changed)
  • Packages depending on static components modified in this PR (Golang, *-static subpackages, etc.) have had their Release tag incremented.
  • Package tests (%check section) have been verified with RUN_CHECK=y for existing SPEC files, or added to new SPEC files
  • All package sources are available
  • cgmanifest files are up-to-date and sorted (./cgmanifest.json, ./toolkit/scripts/toolchain/cgmanifest.json, .github/workflows/cgmanifest.json)
  • LICENSE-MAP files are up-to-date (./LICENSES-AND-NOTICES/SPECS/data/licenses.json, ./LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md, ./LICENSES-AND-NOTICES/SPECS/LICENSE-EXCEPTIONS.PHOTON)
  • All source files have up-to-date hashes in the *.signatures.json files
  • sudo make go-tidy-all and sudo make go-test-coverage pass
  • Documentation has been updated to match any changes to the build system
  • Ready to merge

Summary

Update crash to v9.0.0 which has improved crash dump features
and fixes. crash v9.0.0 requires minimum gdb version of 16.2 during
its build.

Previously, gdb tarball was directly uploaded with patches already
applied. This makes future changes difficult to make, and is difficult
to audit.

Instead, use the official gdb source tarball, and split our %prep
source prepping phase to selectively apply patch 0-99 to the
original crash sources while applying patches 100+ to the gdb
sources.

Here is an analysis of the previous CVE fixes applied, and
whether we still need the fixes:

  • CVE-2022-37434 - still apply fix to vendored zlib inside gdb.
  • CVE-2021-20197 - drop patch. Already applied in updated gdb. See
    commit ID 95b91a043aeaeb546d2fea556d84a2de1e917770
  • CVE-2022-47673 - drop patch. Already applied in updated gdb. See
    commit ID 77c225bdeb410cf60da804879ad41622f5f1aa44
  • CVE-2022-47696 - drop patch. Already applied in updated gdb. See
    commit ID d12f8998d2d086f0a6606589e5aedb7147e6f2f1
  • CVE-2025-11082 - still apply fix to gdb

Signed-off-by: Chris Co chrco@microsoft.com

Does this affect the toolchain?

NO

Associated issues
Test Methodology

Update to v9.0.0 which has improved crash dump features and fixes.
crash v9.0.0 requires minimum gdb version of 16.2 during its build.

Signed-off-by: Chris Co <chrco@microsoft.com>
Previously, gdb tarball was directly uploaded with patches already
applied. This makes for difficult auditing of sources.

Instead, use the official gdb source tarball, and split our %prep
source prepping phase to selectively apply patch 0-99 to the
original crash sources while applying patches 100+ to the gdb
sources.

CVEs:
- CVE-2022-37434 - still apply fix to vendored zlib inside gdb.
- CVE-2021-20197 - drop patch. Already applied in updated gdb. See
commit ID 95b91a043aeaeb546d2fea556d84a2de1e917770
- CVE-2022-47673 - drop patch. Already applied in updated gdb. See
commit ID 77c225bdeb410cf60da804879ad41622f5f1aa44
- CVE-2022-47696 - drop patch. Already applied in updated gdb. See
commit ID d12f8998d2d086f0a6606589e5aedb7147e6f2f1
- CVE-2025-11082 - still apply fix to gdb

Signed-off-by: Chris Co <chrco@microsoft.com>
@microsoft-github-policy-service microsoft-github-policy-service bot added Packaging 3.0-dev PRs Destined for AzureLinux 3.0 labels Jan 5, 2026
Signed-off-by: Chris Co <chrco@microsoft.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the crash kernel analysis utility from version 8.0.4 to 9.0.0, which requires updating the vendored gdb from version 10.2 to 16.2. The main improvement is a reworked patch application process that uses the official gdb source tarball instead of a pre-patched version, making future maintenance easier and more auditable.

Key Changes:

  • Updated crash to 9.0.0 and gdb to 16.2 with corresponding hash updates
  • Implemented a patch numbering scheme (0-99 for crash, 100+ for gdb) with selective patch application during the %prep phase
  • Consolidated CVE patches: dropped 3 patches already fixed in gdb 16.2 (CVE-2021-20197, CVE-2022-47673, CVE-2022-47696) and kept 2 critical patches (CVE-2022-37434, CVE-2025-11082)

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
cgmanifest.json Updated crash version and download URL from 8.0.4 to 9.0.0
SPECS/crash/crash.spec Updated gdb to 16.2 and crash to 9.0.0; reworked %prep section to extract, patch, and repackage gdb sources with new patch numbering scheme
SPECS/crash/crash.signatures.json Updated SHA256 hashes for crash 9.0.0 and official gdb 16.2 tarballs
SPECS/crash/CVE-2025-11082.patch Added patch to fix buffer overflow in gdb's .eh_frame parsing
SPECS/crash/CVE-2022-37434.patch Added patch to fix buffer overflow in vendored zlib's inflate extra field handling

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread SPECS/crash/crash.spec Outdated
Comment thread SPECS/crash/crash.spec Outdated
Comment thread SPECS/crash/crash.spec Outdated
christopherco and others added 3 commits January 5, 2026 23:15
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Chris Co <chrco@microsoft.com>
@christopherco christopherco marked this pull request as ready for review January 6, 2026 15:14
@christopherco christopherco requested a review from a team as a code owner January 6, 2026 15:14
@christopherco christopherco requested a review from Copilot January 6, 2026 15:14
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread SPECS/crash/crash.spec
Comment thread SPECS/crash/crash.spec
@jslobodzian jslobodzian merged commit eab04d9 into 3.0-dev Jan 6, 2026
31 of 34 checks passed
@jslobodzian jslobodzian deleted the chrco/crash9 branch January 6, 2026 15:58
sandeepkarambelkar pushed a commit that referenced this pull request Jan 8, 2026
#15426)

Signed-off-by: Chris Co <chrco@microsoft.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
sandeepkarambelkar pushed a commit that referenced this pull request Jan 9, 2026
#15426)

Signed-off-by: Chris Co <chrco@microsoft.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

3.0-dev PRs Destined for AzureLinux 3.0 Packaging

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants