---
id: "CVE-2026-113679"
kind: "vulnerability"
aliases: ["CVE-2026-113679"]
title: "HarfBuzz: crafted font writes out of bounds in WebAssembly shaper"
severity: "high"
cvss: 7.3
epss: null
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["browsers", "c-libraries", "desktop-apps", "harfbuzz", "package", "text-rendering"]
not_affected_if: ["default-config", "trusted-fonts-only"]
published_at: "2026-10-20T16:17:12+00:00"
first_seen_at: "2026-10-23T21:57:20+00:00"
updated_at: "2026-10-25T03:27:29+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-113679", "first_seen_at": "2026-10-23T21:57:20+00:00"}]
---

# HarfBuzz: crafted font writes out of bounds in WebAssembly shaper

HarfBuzz, a text shaping library, has an out-of-bounds write in its experimental WebAssembly shaper caused by a wrong WAMR function signature for the font_glyph_to_string import. A crafted font can place the output buffer at the end of linear memory so glyph-name bytes are written into host memory, crashing or corrupting the application.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Check the installed HarfBuzz version with `hb-shape --version` or your package manager; affected range is `8.0.0` through `14.6.0`.
- Check whether the build enables the experimental WebAssembly shaper (WAMR-based), which the sources tie to the flaw.

## Fix

- Move HarfBuzz to a version later than `14.6.0`; the sources do not name the exact fixed release, so confirm it on the project's release page.
- Until patched, unknown whether disabling the WebAssembly shaper fully removes exposure; the sources do not say.

## Timeline

- 2026-10-23T21:57:20+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-113679

## From the sources

HarfBuzz 8.0.0 through 14.6.0 contains an out-of-bounds write vulnerability in the experimental WebAssembly shaper because the font_glyph_to_string import has a wrong WAMR signature. Attackers can supply a crafted font whose wasm module places the output buffer near linear memory's end, writing glyph-name bytes into host memory to crash or corrupt applications.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
