---
id: CVE-2026-89259
title: Hugo before v0.165.0 Insufficient Permission Restriction via TailwindCSS
summary: >-
  Hugo is a static site generator. From v0.161.0, Hugo executes Node tools under
  Node's permission model, but TailwindCSS — included in the default
  security.exec.allow list — requires a highly permissive configuration
  (--allow-addons, --al…
severity: critical
cvss: 9.8
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'
cvssSource: cna
cwe:
  - CWE-250
vendor: gohugoio
product: hugo
affected:
  - hugo < 0.165.0
ssvc:
  exploitation: none
  automatable: 'yes'
  technicalImpact: total
  timestamp: '2026-09-11T17:11:14.920833Z'
published: '2026-09-11'
updated: '2026-09-11'
sourceUpdated: '2026-09-11T20:29:43.170Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-89259'
references:
  - url: 'https://github.com/gohugoio/hugo/security/advisories/GHSA-vrm6-x8vp-mv2r'
    label: GitHub Security Advisory (GHSA-vrm6-x8vp-mv2r)
  - url: >-
      https://www.vulncheck.com/advisories/hugo-before-0.165.0-insufficient-permission-restriction-via-tailwindcss
    label: >-
      VulnCheck Advisory: Hugo before v0.165.0 Insufficient Permission
      Restriction via TailwindCSS
tags:
  - cve.org
epss: 0.00411
epssPercentile: 0.35123
ingestedAt: '2026-09-14T11:11:19.882Z'
---

## Overview

Hugo is a static site generator. From v0.161.0, Hugo executes Node tools under Node's permission model, but TailwindCSS — included in the default security.exec.allow list — requires a highly permissive configuration (--allow-addons, --allow-child-process, --allow-worker). As a result, the restrictions intended by the fix for GHSA-x597-9fr4-5857 could still be bypassed, allowing a Node tool invoked during a build to read and write files outside the project's working directory. Affected versions are those after v0.43; the issue was fixed in v0.165.0 by removing tailwindcss from the default security.exec.allow list. Users who do not use TailwindCSS, or who only build trusted sites, are not affected. As a workaround, users can define a restrictive security.exec.allow list in hugo.toml.

## Affected

- `hugo < 0.165.0`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
