Skip to content

SIO in bool parse3DTable() at iccFromCube.cpp#L218 #607

@xsscx

Description

@xsscx

Maintainer Repro

2026-02-20 11:52:37 UTC

Summary

SIO in bool parse3DTable() at iccFromCube.cpp#L218 reported by @sy460129

PoC Replay

Requirement: Reproduction with Project Tool using Sanitizers.

Step 1. iccFromCube input.icc output.icc

PoC Expected Output

Tools/CmdLine/IccFromCube/iccFromCube.cpp:218:38: runtime error: signed integer overflow: -1156317184 * -1156317184 cannot be represented in type 'int'
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior Tools/CmdLine/IccFromCube/iccFromCube.cpp:218:38

CVSS

CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
5.5 (Medium)

CWE

CWE-190
CWE-681

Rationale: local execution of the tool triggers UB and can crash (A:H), but no demonstrated confidentiality/integrity impact.

Host

Linux 6.6.87.2-microsoft-standard-WSL2 #1 SMP PREEMPT_DYNAMIC Thu Jun  5 18:30:46 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

Source Tested

8cfeaec (HEAD -> master, origin/master, origin/HEAD) Add: Dockerfiles & Workflows (#597)

Build

export CXX=clang++
git clone https://github.com/InternationalColorConsortium/iccDEV.git
cd iccDEV/Build
git checkout 8cfeaec
sudo apt install -y libpng-dev libjpeg-dev libwxgtk3.2-dev libwxgtk-{media,webview}3.2-dev wx-common wx3.2-headers libtiff6 curl git make cmake clang clang-tools libxml2{-dev,} nlohmann-json3-dev build-essential
CC=clang CXX=clang++ cmake Cmake -DCMAKE_BUILD_TYPE=Debug -Wno-dev -DCMAKE_CXX_FLAGS="-g3 -O1 -Wall -Wextra -fno-omit-frame-pointer -fno-optimize-sibling-calls -fsanitize=address,undefined -fno-sanitize-recover=address,undefined"
make -j$(nproc)

PoC: wget https://github.com/xsscx/fuzz/raw/refs/heads/master/graphics/icc/ub_sio_parse3Dtable-IccFromCube_cpp-Line218.icc

ub_sio_parse3Dtable-IccFromCube_cpp-Line218.icc.txt

Metadata

Metadata

Assignees

Labels

TriagedMaintainer indicates triaged status and ready for developer handofflibFuzzerlibFuzzer Related

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions