You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
CVE-2026-59884 (tag.py + decoder.py) — ❌ Incomplete — the CVE is only half-fixed. AI Backport of 628e36ec.
tag.py half ("huge tag repr") — byte-identical to upstream, applied correctly. ✅
decoder.py half ("long tag bounds") — the enforcement was dropped. Upstream adds MAX_TAG_OCTETS = 20and the guard inside the long-form tag decode loop:
tagOctetCount+=1iftagOctetCount>MAX_TAG_OCTETS:
raiseerror.PyAsn1Error('Tag ID octet count exceeds limit (%d)'% (MAX_TAG_OCTETS,))
The PR adds only the MAX_TAG_OCTETS = 20 constant — which is referenced nowhere (dead constant). I confirmed AL's 0.4.8 base decoder.py does have the exact target loop (if tagId == 0x1F: … lengthOctetIdx += 1; tagId <<= 7), so the guard was fully backportable. Result: the decoder-side unbounded long-form tag-ID DoS is not mitigated — an attacker can still feed an arbitrarily long high-tag-number encoding.
Fix: in decoder.py's if tagId == 0x1F: loop, add after lengthOctetIdx += 1:
iflengthOctetIdx>MAX_TAG_OCTETS:
raiseerror.PyAsn1Error('Tag ID octet count exceeds limit (%d)'% (MAX_TAG_OCTETS,))
CVE-2026-59884: Backported suggested fix from above comment for decoder.py and imported encoder in test files to support upstream logic. CVE-2026-59885:class RelativeOIDPayloadDecoder in 'decoder.pyandclass RelativeOIDEncoderinencoder.py` are not present in our source code, so respective code and tests cases were not included in patch. CVE-2026-59886: Same as upstream patch.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Auto Patch python-pyasn1 for CVE-2026-59886, CVE-2026-59885, CVE-2026-59884.
Autosec pipeline run -> https://dev.azure.com/mariner-org/mariner/_build/results?buildId=1161909&view=results
CVE-2026-59885 : Single Patch Backporter Pipeline Run -> https://dev.azure.com/mariner-org/mariner/_build/results?buildId=1161912&view=results
CVE-2026-59884 : Single Patch Backporter Pipeline Run -> https://dev.azure.com/mariner-org/mariner/_build/results?buildId=1161911&view=results
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
What does the PR accomplish, why was it needed?
Change Log
Does this affect the toolchain?
YES/NO
Associated issues
Links to CVEs
Test Methodology