Skip to content

zeroize: fix fallback code used by optimization_barrier - #1551

Merged
newpavlov merged 2 commits into
masterfrom
zeroize/fix_barrier_fallback
Oct 6, 2026
Merged

newpavlov merged 2 commits into
masterfrom
zeroize/fix_barrier_fallback

Conversation

@newpavlov

Copy link
Copy Markdown
Member

The previous fallback code may potentially read uninitialized memory as u8.

Closes #1549

@newpavlov
newpavlov merged commit a2b1713 into master Oct 6, 2026
27 checks passed
@newpavlov
newpavlov deleted the zeroize/fix_barrier_fallback branch October 6, 2026 13:15
@tarcieri tarcieri mentioned this pull request Oct 6, 2026
tarcieri added a commit that referenced this pull request Oct 6, 2026
## Changed
- Replace `Zeroizing`'s derived `Debug` with opaque impl (#1497)

## Removed
- Internal use of `optimization_barrier` (#1535)

## Fixed
- Avoid double-zeroizing `Vec`'s initialized elements (#1525)
- False positive failures in proxy allocator test (#1538)
- Potential uninitialized memory read in fallback code used by
  `optimization_barrier` (#1551)
@ajit-zer07

Copy link
Copy Markdown

Thank you

ajit-zer07 added a commit to agentcontextdistributionprotocol/acdp-rs that referenced this pull request Oct 7, 2026
…) (#380)

* chore(supply-chain): certify zeroize 1.9.1 and drop its exemption (#341)

zeroize 1.9.1 (2026-10-06) fixes Z-1, the uninitialized u8 read in the
non-asm fallback of optimization_barrier (RustCrypto/utils#1551, closing
our report #1549), and removes the crate's internal barrier calls (#1535).

- Bump zeroize 1.9.0 -> 1.9.1 in the root and py/node/wasm binding locks
  (crypto-critical lock parity kept).
- Full safe-to-deploy audit of 1.9.1: 1.9.0 was never certified, so it is
  not a valid delta base; against the audited 1.8.2 the delta ratio is
  0.77 (>= 0.75), so the method rule gives full. One Discretion line
  (Z-3: the fallback's non-atomic read can race with interior mutability;
  no ACDP artifact calls optimization_barrier, acdp-wasm is single-threaded).
- Remove [[exemptions.zeroize]] and the allow-exempt:DECISIONS#322-zeroize@1.9.0
  guard marker; the guard self-tests now build their zeroize exemption
  fixtures in the scratch store.
- Worksheet supply-chain/worksheets/zeroize-1.9.1.md; docs/supply-chain.md
  and DECISIONS.md (closing 322-zeroize) updated.

Claude-Session: https://claude.ai/code/session_01PyfQ4o6dFjgwMkukXeun5h

* docs(supply-chain): tighten zeroize 1.9.1 wording per independent verification (#341)

Claude-Session: https://claude.ai/code/session_01PyfQ4o6dFjgwMkukXeun5h
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

zeroize 1.9.0: the optimization_barrier non-asm fallback reads possibly uninitialized memory as u8 (UB from safe code)

2 participants