p PatchFirst

CVE-2026-6104

CVE-2026-6104 · Global buffer over-read in mb_convert_encoding() with attacker-supplied encoding

This page contains facts from public vulnerability sources. Check the original advisory before updating.

In PHP versions 8.4.* before 8.4.21 and 8.5.* before 8.5.6, when an encoding name containing an embedded NUL byte is passed to mb_convert_encoding() or related mbstring functions, the code incorrectly assumes that when strncasecmp() returns 0 it means the strings have the same length. This can lead to out-of-bounds read of global memory, potentially causing a crash or information disclosure or crash. Affected functions include mb_convert_encoding(), mb_detect_encoding(), mb_convert_variables(), and mb_detect_order(), as well as the mbstring.detect_order and mbstring.http_output INI settings.

CVSS 6.3 · Medium · EPSS 0.5% · Fix available

Published
Updated

Stack: system · php

Affected products and versions

  • php

    Versions
    • ≥ 8.4.*, < 8.4.21: Affected (semver)
    • ≥ 8.5.*, < 8.5.6: Affected (semver)

    Update to 8.4.21; Update to 8.5.6

  • php8.4 Debian:13

    Versions
    • 8.4.11-1
    • 8.4.16-1
    • 8.4.16-1~deb13u1
    • 8.4.20-1
    Affected ranges
    • ECOSYSTEM: < 8.4.21-1~deb13u1

    Update to 8.4.21-1~deb13u1

  • php8.4 Debian:14

    Versions
    • 8.4.11-1
    • 8.4.16-1
    • 8.4.16-1~deb13u1
    • 8.4.20-1
    • 8.4.21-1~deb13u1
    Affected ranges
    • ECOSYSTEM: < 8.4.21-1

    Update to 8.4.21-1

  • php8.4 Ubuntu:25.10

    Versions
    • 8.4.5-1ubuntu1
    • 8.4.8-1ubuntu1
    • 8.4.11-1ubuntu1
    • 8.4.11-1ubuntu1.1
    Affected ranges
    • ECOSYSTEM: < 8.4.11-1ubuntu1.2

    Update to 8.4.11-1ubuntu1.2

  • php8.5 Ubuntu:26.04:LTS

    Versions
    • 8.5.2-0ubuntu1
    • 8.5.4-0ubuntu1
    Affected ranges
    • ECOSYSTEM: < 8.5.4-0ubuntu1.1

    Update to 8.5.4-0ubuntu1.1

Original sources

Check your server →