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
Merged PR 10578579: Fixed debug assertion failure in AES-GCM with nonce < 12 bytes when ASM is disabled
`SymCryptGHashAppendDataC` has an assertion `SYMCRYPT_ASSERT(cbData >= SYMCRYPT_GF128_BLOCK_SIZE)`, because the function does nothing if the length of the provided data is less than the block size. However, `SymCryptGcmSetNonce` was unconditionally calling `SymCryptGHashAppendData` for the first `(cbNonce - cbNonceRemainder)` bytes of the nonce, even if the nonce was less than the block size. In this case, `(cbNonce - cbNonceRemainder) == 0`, so the assertion fails.
This is not a functional issue, because the subsequent call will append the remaining bytes, padded to the block size. But it does cause an assertion failure in debug builds when ASM is disabled, so it should be fixed.
This wasn't caught earlier because we don't normally run tests on debug builds without ASM optimizations. Since this is a gap in our testing, I also added a new pipeline which will be run nightly and include more thorough testing.
Tested: symcryptunittest, CI
CDP_DEFINITION_BUILD_COUNT: $[counter('', 0)] # needed for onebranch.pipeline.version task https://aka.ms/obpipelines/versioning
15
+
LinuxContainerImage: 'onebranch.azurecr.io/linux/ubuntu-2004:latest'# Docker image which is used to build the project https://aka.ms/obpipelines/containers
needExceptionForUbuntuUsage: true # Mariner does not currently support all of our cross-compilation targets
30
+
LinuxHostVersion:
31
+
Distribution: Ubuntu # Mariner kernel is incompatible with Ubuntu container; causes infinite loop in ASAN https://github.com/actions/runner-images/issues/9524
32
+
globalSdl: # https://aka.ms/obpipelines/sdl
33
+
tsa:
34
+
enabled: false # Disable TSA to force build breaks
35
+
policheck:
36
+
break: true # always break the build on policheck issues.
37
+
binskim:
38
+
enabled: false # Temporarily disable binskim until we sort out BA2018 errors
Copy file name to clipboardExpand all lines: .pipelines/OneBranch.PullRequest.yml
+2Lines changed: 2 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -30,6 +30,8 @@ extends:
30
30
LinuxHostVersion:
31
31
Distribution: Ubuntu # Mariner kernel is incompatible with Ubuntu container; causes infinite loop in ASAN https://github.com/actions/runner-images/issues/9524
32
32
globalSdl: # https://aka.ms/obpipelines/sdl
33
+
tsa:
34
+
enabled: false # Disable TSA to force build breaks
33
35
policheck:
34
36
break: true # always break the build on policheck issues.
0 commit comments