Vulnerabilities in pkg:pypi/skia-python
PACKAGEGHSA-2mhw-8qcg-gr96 is a HIGH (CVSS 8.1) skia-python vendors vulnerable libfreetype because vulnerability (CWE-1395: Dependency on Vulnerable Third-Party Component) affecting Skia python libraries in the PyPI ecosystem. The issue involves skia-python vendors vulnerable libfreetype because of pinned cibuildwheel version. Remediation is available by upgrading affected packages to version 144.0.post1.
pkg:pypi/skia-python
Vulnerability advisories affecting package pkg:pypi/skia-python. Select an advisory below to view technical details or fixes.
| Advisory ID | CVE / NVD | Severity | Summary |
|---|---|---|---|
| GHSA-2mhw-8qcg-gr96 | - | HIGH | skia-python vendors vulnerable libfreetype because of pinned cibuildwheel version |
GHSA-2mhw-8qcg-gr96 at a Glance
Security Impact
CVSS: 8.1
The security impact metrics below are parsed directly from the CVSS v3.1 vector string (CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H).
How to Fix GHSA-2mhw-8qcg-gr96
To remediate this vulnerability, upgrade all affected Skia python dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.
pip install skia-python>=Latest secure release
pip install skia-python>=144.0.post1
Run the following command in your project directory to verify that all resolved dependencies use the patched release:
pip show skia-python
How to Check if You Are Affected
To determine whether your Python environment is affected by GHSA-2mhw-8qcg-gr96, inspect your installed packages using pip:
pip show skia-python
Analyze the terminal output to locate any version of Skia python in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 144.0.post1), your application is affected.
Note: The pip show skia-python command checks currently installed packages in your active Python environment.
Technical Details
Vulnerability Mechanism & Technical Analysis
This vulnerability is classified under CWE-1395: Dependency on Vulnerable Third-Party Component, where the product has a dependency on a third-party component that contains one or more known vulnerabilities. In Skia python, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.
Source Advisory Statement
GHSA-2mhw-8qcg-gr96 Affected Skia python Versions
2 component(s)| Product / Package | Ecosystem | Affected Versions | Fixed Version |
|---|---|---|---|
|
skia-python
|
PyPI |
144.0
All 1 versions
144.0
|
None specified
|
|
skia-python
|
PyPI |
< 144.0.post1
|
144.0.post1
|
References
Frequently Asked Questions
What is GHSA-2mhw-8qcg-gr96?
Which Skia python versions are affected?
What version fixes GHSA-2mhw-8qcg-gr96?
Is skia-python affected?
What is the CVSS score of GHSA-2mhw-8qcg-gr96?
What CWE is associated with GHSA-2mhw-8qcg-gr96?
How can I check PyPI dependencies for GHSA-2mhw-8qcg-gr96?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-2mhw-8qcg-gr96",
"modified" : "2026-03-19T18:10:25Z",
"published" : "2026-03-19T18:10:25Z",
"aliases" : [ ],
"summary" : "skia-python vendors vulnerable libfreetype because of pinned cibuildwheel version",
"details" : "### Impact\n\nThe Linux wheels for skia-python vendor a vulnerable version of\nlibfreetype that is affected by CVE-2025-27363 [1].\n\nThe root cause is a chain of unfortunate events:\n\n1. skia-python builds wheels using pinned pypa/cibuildwheel@2.21.3 [2]\n\n2. cibuildwheel 2.21.3 in turn pins manylinux container images [3]\n\n3. In these images, version 2.9.1-9.el8 of RedHat package freetype is\n*preinstalled*. This package version is vulnerable and has since been\npatched in 2.9.1-10.\n\n4. During the skia-python Linux build, libfreetype is vendored from the\nsystem, resulting in skia-python.libs/libfreetype-29a7443c.so.6.16.1\n\n[ To find the provenance of your vendored libfreetype, we extracted the\n8-character hash of the original binary file that is added during the\nbuild process (29a7443c), and matched it against our database of hashes\nall historic Red Hat, Debian and Ubuntu releases of freetype. ]\n\n5. Because freetype is only a *transitive* dependency of the packages\nexplicitly installed by the build script [4], it is not upgraded to the\npatched version [4].\n\n5. As a result, the published wheels embed a vulnerable libfreetype,\neven though patched packages are available upstream.\n\nThis appears to be a broader manylinux ecosystem issue. The base images\ndo not enforce that `yum update` runs on container start, so\npreinstalled libraries may remain vulnerable indefinitely.\n\n\n### Patches\n\n> In the case of skia-python, the solution is to explicitly install freetype in the build process and rebuild the wheels.\n\nThe original report was suggesting the above, but in the current `build_Linux.sh` script, the patched `freetype-devel` version 2.9.1-10 gets installed as a dependency. It's just that we need to rebuild the wheel for a new release.\n\n### Workarounds\n\nUsers must upgrade the wheel package after release.\n\n### References\n\n1. https://nvd.nist.gov/vuln/detail/CVE-2025-27363\n2. https://github.com/kyamagu/skia-python/blob/9ffb045811f9b5508e152302d5b81aadca6edd8d/.github/workflows/ci.yml#L38\n3. https://github.com/pypa/cibuildwheel/blob/v2.21.3/cibuildwheel/resources/pinned_docker_images.cfg\n4. https://github.com/kyamagu/skia-python/blob/9ffb045811f9b5508e152302d5b81aadca6edd8d/scripts/build_Linux.sh#L6",
"severity" : [ {
"type" : "CVSS_V3",
"score" : "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H"
} ],
"affected" : [ {
"package" : {
"ecosystem" : "PyPI",
"name" : "skia-python"
},
"versions" : [ "144.0" ]
}, {
"package" : {
"ecosystem" : "PyPI",
"name" : "skia-python"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "0"
}, {
"fixed" : "144.0.post1"
} ]
} ],
"database_specific" : {
"last_known_affected_version_range" : "<= 138.0"
}
} ],
"references" : [ {
"type" : "WEB",
"url" : "https://github.com/kyamagu/skia-python/security/advisories/GHSA-2mhw-8qcg-gr96"
}, {
"type" : "ADVISORY",
"url" : "https://nvd.nist.gov/vuln/detail/CVE-2025-27363"
}, {
"type" : "PACKAGE",
"url" : "https://github.com/kyamagu/skia-python"
} ],
"database_specific" : {
"cwe_ids" : [ "CWE-1395", "CWE-787" ],
"severity" : "HIGH",
"github_reviewed" : true,
"github_reviewed_at" : "2026-03-19T18:10:25Z",
"nvd_published_at" : null
}
}