# CVE-2026-23893: openCryptoki has improper link resolution before file access (link following)

> A token-group user can exploit symlink following in openCryptoki to escalate privileges or expose data when administrative tools run as root.

- **Severity:** Medium 6.8 (`CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:L`)
- **Exploited in the wild:** Not known
- **Login needed:** Any signed-in user
- **Attackable:** Local or same network only
- **Victim action needed:** A user has to click or open something
- **Fix available:** Yes
- **Published:** 22 Jan 2026
- **Updated:** 22 Jan 2026
- **Also known as:** ALSA-2026:4717, ALSA-2026:5587, ALSA-2026:5603, AZL-75360, AZL-75381, CLSA-2026-1774952276, CLSA-2026-1775212043, DEBIAN-CVE-2026-23893, GHSA-j6c7-mvpx-jx5q, RHSA-2026:4717, RHSA-2026:5587, RHSA-2026:5603, RHSA-2026:5917, RHSA-2026:5919, RHSA-2026:6006, RLSA-2026:4717, RLSA-2026:5587, RLSA-2026:5603, SUSE-SU-2026:0351-1, SUSE-SU-2026:0481-1, SUSE-SU-2026:0569-1, SUSE-SU-2026:0581-1, SUSE-SU-2026:0824-1, UBUNTU-CVE-2026-23893, openSUSE-SU-2026:10086-1

## What is CVE-2026-23893?

CVE-2026-23893 is a medium-severity path traversal vulnerability in opencryptoki, published on 22 Jan 2026. It can only be exploited from the same machine or local network, and only if a user opens a file or follows a link.

### Official description

openCryptoki is a PKCS#11 library and provides tooling for Linux and AIX. Versions 2.3.2 and above are vulnerable to symlink-following when running in privileged contexts. A token-group user can redirect file operations to arbitrary filesystem targets by planting symlinks in group-writable token directories, resulting in privilege escalation or data exposure. Token and lock directories are 0770 (group-writable for token users), so any token-group member can plant files and symlinks inside them. When run as root, the base code handling token directory file access, as well as several openCryptoki tools used for administrative purposes, may reset ownership or permissions on existing files inside the token directories. An attacker with token-group membership can exploit the system when an administrator runs a PKCS#11 application or administrative tool that performs chown on files inside the token directory during normal maintenance. This issue is fixed in commit 5e6e4b4, but has not been included in a released version at the time of publication.

Weakness: CWE-59 (Improper Link Resolution Before File Access)

## Which versions are affected by CVE-2026-23893?

It affects 1 product.


| Package | Ecosystem | Affected | Fixed in |
| --- | --- | --- | --- |
| `opencryptoki-devel` | AlmaLinux:10 | All versions | 3.25.0-5.el10_1.2 |
| `opencryptoki` | AlmaLinux:8 | All versions | 3.22.0-3.el8_10.2 |
| `opencryptoki-ccatok` | AlmaLinux:8 | All versions | 3.22.0-3.el8_10.2 |
| `opencryptoki-devel` | AlmaLinux:8 | All versions | 3.22.0-3.el8_10.2 |
| `opencryptoki-ep11tok` | AlmaLinux:8 | All versions | 3.22.0-3.el8_10.2 |
| `opencryptoki-icatok` | AlmaLinux:8 | All versions | 3.22.0-3.el8_10.2 |
| `opencryptoki-icsftok` | AlmaLinux:8 | All versions | 3.22.0-3.el8_10.2 |
| `opencryptoki-libs` | AlmaLinux:8 | All versions | 3.22.0-3.el8_10.2 |
| `opencryptoki-swtok` | AlmaLinux:8 | All versions | 3.22.0-3.el8_10.2 |
| `opencryptoki-tpmtok` | AlmaLinux:8 | All versions | 3.22.0-3.el8_10.2 |
| `opencryptoki` | AlmaLinux:9 | All versions | 3.25.0-4.el9_7.2 |
| `opencryptoki-ccatok` | AlmaLinux:9 | All versions | 3.25.0-4.el9_7.2 |
| `opencryptoki-devel` | AlmaLinux:9 | All versions | 3.25.0-4.el9_7.2 |
| `opencryptoki-ep11tok` | AlmaLinux:9 | All versions | 3.25.0-4.el9_7.2 |
| `opencryptoki-icatok` | AlmaLinux:9 | All versions | 3.25.0-4.el9_7.2 |
| `opencryptoki-icsftok` | AlmaLinux:9 | All versions | 3.25.0-4.el9_7.2 |
| `opencryptoki-libs` | AlmaLinux:9 | All versions | 3.25.0-4.el9_7.2 |
| `opencryptoki-swtok` | AlmaLinux:9 | All versions | 3.25.0-4.el9_7.2 |
| `opencryptoki` | Red Hat:enterprise_linux:10.1 | All versions | 0:3.25.0-5.el10_1.2 |
| `opencryptoki-ccatok` | Red Hat:enterprise_linux:10.1 | All versions | 0:3.25.0-5.el10_1.2 |
| `opencryptoki-ccatok-debuginfo` | Red Hat:enterprise_linux:10.1 | All versions | 0:3.25.0-5.el10_1.2 |
| `opencryptoki-debuginfo` | Red Hat:enterprise_linux:10.1 | All versions | 0:3.25.0-5.el10_1.2 |
| `opencryptoki-debugsource` | Red Hat:enterprise_linux:10.1 | All versions | 0:3.25.0-5.el10_1.2 |
| `opencryptoki-devel` | Red Hat:enterprise_linux:10.1 | All versions | 0:3.25.0-5.el10_1.2 |
| `opencryptoki-ep11tok` | Red Hat:enterprise_linux:10.1 | All versions | 0:3.25.0-5.el10_1.2 |
| `opencryptoki-ep11tok-debuginfo` | Red Hat:enterprise_linux:10.1 | All versions | 0:3.25.0-5.el10_1.2 |
| `opencryptoki-icatok` | Red Hat:enterprise_linux:10.1 | All versions | 0:3.25.0-5.el10_1.2 |
| `opencryptoki-icatok-debuginfo` | Red Hat:enterprise_linux:10.1 | All versions | 0:3.25.0-5.el10_1.2 |
| `opencryptoki-icsftok` | Red Hat:enterprise_linux:10.1 | All versions | 0:3.25.0-5.el10_1.2 |
| `opencryptoki-icsftok-debuginfo` | Red Hat:enterprise_linux:10.1 | All versions | 0:3.25.0-5.el10_1.2 |
| `opencryptoki-libs` | Red Hat:enterprise_linux:10.1 | All versions | 0:3.25.0-5.el10_1.2 |
| `opencryptoki-libs-debuginfo` | Red Hat:enterprise_linux:10.1 | All versions | 0:3.25.0-5.el10_1.2 |
| `opencryptoki-swtok` | Red Hat:enterprise_linux:10.1 | All versions | 0:3.25.0-5.el10_1.2 |
| `opencryptoki-swtok-debuginfo` | Red Hat:enterprise_linux:10.1 | All versions | 0:3.25.0-5.el10_1.2 |
| `opencryptoki` | Red Hat:enterprise_linux:8::baseos | All versions | 0:3.22.0-3.el8_10.2 |
| `opencryptoki-ccatok` | Red Hat:enterprise_linux:8::baseos | All versions | 0:3.22.0-3.el8_10.2 |
| `opencryptoki-ccatok-debuginfo` | Red Hat:enterprise_linux:8::baseos | All versions | 0:3.22.0-3.el8_10.2 |
| `opencryptoki-debuginfo` | Red Hat:enterprise_linux:8::baseos | All versions | 0:3.22.0-3.el8_10.2 |
| `opencryptoki-debugsource` | Red Hat:enterprise_linux:8::baseos | All versions | 0:3.22.0-3.el8_10.2 |
| `opencryptoki-ep11tok` | Red Hat:enterprise_linux:8::baseos | All versions | 0:3.22.0-3.el8_10.2 |

Products: Opencryptoki Project Opencryptoki.

## How do I fix CVE-2026-23893?

Apply the vendor's patch.

## Is CVE-2026-23893 being exploited?

There is no known exploitation of CVE-2026-23893 in the wild and no public exploit code.

## Other vulnerabilities in opencryptoki

- [CVE-2026-40253](https://insights.sbomify.com/CVE-2026-40253/): openCryptoki: Memory safety vulnerabilities in BER/DER decoders in asn1.c (medium 6.8)
- [CVE-2026-22791](https://insights.sbomify.com/CVE-2026-22791/): openCryptoki incorrectly calculates the buffer size in C_WrapKey with CKM_ECDH_AES_KEY_WRAP (medium 6.6)
- [CVE-2012-4455](https://insights.sbomify.com/CVE-2012-4455/): Path traversal in n/a (medium 6.2)
- [CVE-2024-0914](https://insights.sbomify.com/CVE-2024-0914/): Opencryptoki: timing side-channel in handling of rsa pkcs#1 v1.5 padded ciphertexts (marvin) (medium 5.9)
- [CVE-2021-3798](https://insights.sbomify.com/CVE-2021-3798/): Information disclosure in opencryptoki (medium 5.5)

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2026-23893 and fix it if it is affected.

What it is: CVE-2026-23893 is a medium-severity path traversal vulnerability in opencryptoki, published on 22 Jan 2026. It can only be exploited from the same machine or local network, and only if a user opens a file or follows a link.
Exploitation: There is no known exploitation of CVE-2026-23893 in the wild and no public exploit code.

Affected product: opencryptoki. No package-level version data is available, so check the vendor advisory linked from the reference page.

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2026-23893/ (Markdown: https://insights.sbomify.com/CVE-2026-23893/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2026-23893
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-23893
- OSV: https://osv.dev/vulnerability/CVE-2026-23893

---
From sbomify Insights: https://insights.sbomify.com/CVE-2026-23893/
Summaries are generated and may contain mistakes; the official description above is the record.
