Skip to content

fix: reject low-order X25519 public keys - #418

Merged
Mathieu Morrissette (mmorrissette-devolutions) merged 2 commits into
masterfrom
fix/x25519-reject-low-order-points
Oct 19, 2026
Merged

Mathieu Morrissette (mmorrissette-devolutions) merged 2 commits into
masterfrom
fix/x25519-reject-low-order-points

Conversation

@mmorrissette-devolutions

Copy link
Copy Markdown
Contributor

Return Error::InvalidData when an X25519 exchange is not contributory (low-order peer public key) in mix_key_exchange and in asymmetric encryption/decryption, including online ciphertexts.

@mmorrissette-devolutions
Mathieu Morrissette (mmorrissette-devolutions) marked this pull request as ready for review October 16, 2026 15:43
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-16T15:45:24.069212Z 3d05aa9 Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@mmorrissette-devolutions
Mathieu Morrissette (mmorrissette-devolutions) merged commit d678c09 into master Oct 19, 2026
34 checks passed
@mmorrissette-devolutions
Mathieu Morrissette (mmorrissette-devolutions) deleted the fix/x25519-reject-low-order-points branch October 19, 2026 13:43
Mathieu Morrissette (mmorrissette-devolutions) added a commit that referenced this pull request Oct 19, 2026
Stacked on #418. Fixes the warnings reported by [CI run
38927727942](https://github.com/Devolutions/devolutions-crypto/actions/runs/38927727942).

## Fixed

- **Node 20 deprecation (actions)**: `download-artifact` v4 → v8,
`upload-artifact` v4/v4.3.6 → v7, `setup-python` v5 → v7, `setup-node`
v4 → v7, `setup-java` v3 → v6 (also clears the "setup-java v3 is
deprecated" warning). Uploads that were pinned to v4.3.6 get
`include-hidden-files: true` to keep the dotfile behaviour (v4.4+
excludes them by default). Artifacts are still zipped, so `dv github
download-artifact` in the release workflows is unaffected.
- **Cargo manifest**: drop `package.homepage` (redundant with
`package.repository`; printed on every cargo invocation). Add
`description`/`license`/`repository` to the `python` and
`devolutions-crypto-uniffi` crates (maturin's `cargo package --list`
warning).
- **cargo-deny yanked crate**: `chacha20` 0.10.1 → 0.10.2 (0.10.1 is
yanked). The lockfile diff touches only `chacha20`.
- **C# nullable warnings**:
- CS8632 in `dotnet-core`: enable `<Nullable>` (the shared test files
are annotated).
- CS8602/CS8604 in `android`: bump MSTest 3.0.0 → 3.7.1, matching the
local test project. MSTest 3.0.0 lacks `[NotNull]` on
`Assert.IsNotNull`; reproduced locally (42 warnings with 3.0.0, 0 with
3.7.1).
- CS8765 in iOS: `AppDelegate.FinishedLaunching` takes `NSDictionary?`.
- **NETSDK1202**: android nuget tests `net9.0-android` →
`net10.0-android` (CI already uses SDK 10). This is a separate commit,
so it's easy to drop if needed.
- **Kotlin Gradle deprecations**: `kotlinOptions` → `compilerOptions`;
library `targetSdk` moved to `testOptions`/`lint`.

## Not fixed (out of this repo's control)

- `uniffi.toml` "old-style --config": maturin passes the crate's
`uniffi.toml` to uniffi-bindgen 0.32 via `--config`. Python doesn't use
the `[bindings.kotlin]` section, and rewriting the file risks the Kotlin
package name.
- `zip v2.4.2` yanked, `buf_redux`/`multipart` future-incompat: these
come from the wasm-pack / wasm-bindgen-cli lockfiles installed with
`--locked`.
- emcc `WASM_BIGINT is deprecated`: injected by rustc's
`wasm32-unknown-emscripten` target, not by our flags.
- cargo-deny duplicate crates (`rand`, `getrandom`, `syn`, …): this
needs dependency-tree work and is out of scope.
- Homebrew "Skipping X / Treating azure-cli as a formula": these come
from re-running the Homebrew installer on the macOS runner.
- Runner notices (macOS arm64 capacity, `ubuntu-latest` → Ubuntu 26
migration) and the wasm-pack PATH hint.

## Verification

- `cargo test --lib`: 46 passed. `cargo package --list` no longer prints
manifest warnings.
- The local C# test project and the `dotnet-core` test project (built
against the source project) both build with 0 warnings.
- The `kotlin-android` lib builds with the new DSL
(`:lib:compileReleaseKotlin`).
- Android/iOS builds and the action bumps are verified by this PR's CI.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants