CVE-2025-40929
Cpanel::JSON::XS before version 4.40 for Perl has an integer buffer overflow causing a segfault when parsing crafted JSON, enabling denial-of-service attacks or other unspecified impact
Cpanel::JSON::XS before version 4.40 for Perl has an integer buffer overflow causing a segfault when parsing crafted JSON, enabling denial-of-service attacks or other unspecified impact
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- Low
- Integrity
- Low
- Availability
- Low
Exploit likelihood
What each source reports
CVE List Score used
5.6
Cpanel::JSON::XS before version 4.40 for Perl has an integer buffer overflow causing a segfault when parsing crafted JSON, enabling denial-of-service attacks or other unspecified impact
Cpanel::JSON::XS before version 4.40 for Perl has an integer buffer overflow causing a segfault when parsing crafted JSON, enabling denial-of-service attacks or other unspecified impact
- Record
CVE-2025-40929- CVSS 3.1
- 5.6 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L - Weakness
- CWE-122
- Updated
- 2026-11-02
EUVDEUVD-2025-27140
5.6
Cpanel::JSON::XS before version 4.40 for Perl has an integer buffer overflow causing a segfault when parsing crafted JSON, enabling denial-of-service attacks or other unspecified impact
- Record
EUVD-2025-27140- CVSS 3.1
- 5.6 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-q7gx-445j-xwq8
5.6
Cpanel::JSON::XS before version 4.40 for Perl has an integer buffer overflow causing a segfault...
Cpanel::JSON::XS before version 4.40 for Perl has an integer buffer overflow causing a segfault when parsing crafted JSON, enabling denial-of-service attacks or other unspecified impact
- Record
GHSA-q7gx-445j-xwq8- CVSS 3.1
- 5.6 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L - Weakness
- CWE-122
- Updated
- 2026-11-02
NVD
5.6
Cpanel::JSON::XS before version 4.40 for Perl has an integer buffer overflow causing a segfault when parsing crafted JSON, enabling denial-of-service attacks or other unspecified impact
- Record
CVE-2025-40929- CVSS 3.1
- 5.6 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L - Weakness
- CWE-122
- Updated
- 2026-11-02
OSVALPINE-CVE-2025-40929
5.6
Cpanel::JSON::XS before version 4.40 for Perl has an integer buffer overflow causing a segfault when parsing crafted JSON, enabling denial-of-service attacks or other unspecified impact
- Record
ALPINE-CVE-2025-40929- CVSS 3.1
- 5.6 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L - Updated
- 2026-11-02
OSV
5.6
Cpanel::JSON::XS before version 4.40 for Perl has an integer buffer overflow causing a segfault when parsing crafted JSON, enabling denial-of-service attacks or other unspecified impact
Cpanel::JSON::XS before version 4.40 for Perl has an integer buffer overflow causing a segfault when parsing crafted JSON, enabling denial-of-service attacks or other unspecified impact
- Record
CVE-2025-40929- CVSS 3.1
- 5.6 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L - Weakness
- CWE-122
- Updated
- 2026-11-02
Show 12 moreShow less
OSVDEBIAN-CVE-2025-40929
5.6
Cpanel::JSON::XS before version 4.40 for Perl has an integer buffer overflow causing a segfault when parsing crafted JSON, enabling denial-of-service attacks or other unspecified impact
- Record
DEBIAN-CVE-2025-40929- CVSS 3.1
- 5.6 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L - Updated
- 2026-11-02
OSVOESA-2025-2241
5.6
perl-Cpanel-JSON-XS security update
This module converts Perl data structures to JSON and vice versa. Its primary goal is to be correct and its secondary goal is to be fast. To reach the latter goal it was written in C.
Security Fix(es):
Cpanel::JSON::XS before version 4.40 for Perl has an integer buffer overflow causing a segfault when parsing crafted JSON, enabling denial-of-service attacks or other unspecified impact(CVE-2025-40929)
- Record
OESA-2025-2241- CVSS 3.1
- 5.6 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L - Updated
- 2026-11-02
OSVOESA-2025-2242
5.6
perl-Cpanel-JSON-XS security update
This module converts Perl data structures to JSON and vice versa. Its primary goal is to be correct and its secondary goal is to be fast. To reach the latter goal it was written in C.
Security Fix(es):
Cpanel::JSON::XS before version 4.40 for Perl has an integer buffer overflow causing a segfault when parsing crafted JSON, enabling denial-of-service attacks or other unspecified impact(CVE-2025-40929)
- Record
OESA-2025-2242- CVSS 3.1
- 5.6 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L - Updated
- 2026-11-02
OSVUBUNTU-CVE-2025-40929
5.6
Cpanel::JSON::XS before version 4.40 for Perl has an integer buffer overflow causing a segfault when parsing crafted JSON, enabling denial-of-service attacks or other unspecified impact
- Record
UBUNTU-CVE-2025-40929- CVSS 3.1
- 5.6 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L - Updated
- 2026-11-02
OSVAZL-67086 No score
CVE-2025-40929 affecting package perl-Cpanel-JSON-XS 4.27-2
Cpanel::JSON::XS before version 4.40 for Perl has an integer buffer overflow causing a segfault when parsing crafted JSON, enabling denial-of-service attacks or other unspecified impact
- Record
AZL-67086- Updated
- 2026-11-02
OSVAZL-67088 No score
CVE-2025-40929 affecting package perl-Cpanel-JSON-XS 4.39-1
Cpanel::JSON::XS before version 4.40 for Perl has an integer buffer overflow causing a segfault when parsing crafted JSON, enabling denial-of-service attacks or other unspecified impact
- Record
AZL-67088- Updated
- 2026-11-05
OSVMGASA-2025-0284 No score
Updated perl-Cpanel-JSON-XS packages fix security vulnerability
Cpanel::JSON::XS before version 4.40 for Perl has an integer buffer overflow causing a segfault when parsing crafted JSON, enabling denial-of-service attacks or other unspecified impact. (CVE-2025-40929)
- Record
MGASA-2025-0284- Updated
- 2026-11-02
OSVopenSUSE-SU-2025:15534-1 No score
perl-Cpanel-JSON-XS-4.400.0-1.1 on GA media
These are all security issues fixed in the perl-Cpanel-JSON-XS-4.400.0-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2025:15534-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:21140-1 No score
Security update for perl-Cpanel-JSON-XS
This update for perl-Cpanel-JSON-XS fixes the following issues:
Changes in perl-Cpanel-JSON-XS:
-
updated to 4.420.0 (4.42) see /usr/share/doc/packages/perl-Cpanel-JSON-XS/Changes
4.42 2026-06-27 (rurban)
- Ensure encode with a type spec hashref does not change the hashref argument (GH #240) - Fix -e docs: "written" → "read" (GH #239, reported by Ron Savage). - Fix Boolean eq overload matching undef (GH #207, reported by fd-t). Cpanel::JSON::XS::Boolean overloaded eq would match undef as equal to false because undef stringifies to "". Added defined() guard. - Fix error messages showing overloaded stringification for blessed objects (GH #191, reported by karenetheridge). Error messages now use ClassName=TYPE(addr) format, bypassing any "" overload. - Fix type_all_string overriding allow_blessed/convert_blessed (GH #175, reported by alpha6). With type_all_string + allow_blessed, blessed objects are now encoded as null (not stringified as HASH address). - Fix infinite recursion when encode is called from a "" overload (GH #128, reported by pbrthemaster). The recursion guard temporarily clears convert_blessed and allow_stringify flags on the JSON object before calling the overload, preventing re-entrant encode loops. - Fix $obj->new creating a broken object (GH #93, reported by cpansprout). When new() is called on an existing object (e.g. $json->new->new), the class name is now extracted from the object's stash rather than using the stringified reference. - Change allow_nonref default to true (GH #241, matching JSON::PP and JSON::XS 4.0+ and the insecure RFC 7159). encode and decode now accept non-reference values by default. decode_json() with an explicit 0/1 second argument still works. allow_nonref(0) to disable scalars-only for secure JSON. - Fix minor t/12_blessed.t typo. - Fix GH #112: encode large whole-number NV values without .0 on 32-bit Perl (values exceeding UV_MAX that Perl stores as float). - Fix GH #197: prefer IOK over pNOK when encoding values where IV is accurate but NV is imprecise (SvNOK not set).
-
updated to 4.410.0 (4.41) see /usr/share/doc/packages/perl-Cpanel-JSON-XS/Changes
4.41 2026-05-27 (rurban)
- Fix BOM-shift PV-corruption SIGABRT (CVE-2026-9516) (patch by Paul Johnson) bsc#1267547
- Fix dupkeys_as_arrayref type confusion (CVE-2026-9334) (patch by Paul Johnson) bsc#1267546
- Fix incr_parse single-quote string delimiter (GH #245, reported by Paul Johnson)
- Fix a one-byte out-of-bounds heap read reachable via allow_barekey on truncated input (GH #244, reported by Paul Johnson)
-
updated to 4.400.0 (4.40) see /usr/share/doc/packages/perl-Cpanel-JSON-XS/Changes
4.40 2025-09-07 (rurban)
- Fix CVE-2025-40929 overflow with overlong numbers, fuzzing only.
- Detect more malformed numbers, with two decimal points.
- Pin github actions to latest @v via pinact run -u (bsc#1249331)
-
updated to 4.390.0 (4.39) see /usr/share/doc/packages/perl-Cpanel-JSON-XS/Changes
4.39 2024-12-12 (rurban) - Fix Windows -Dusequadmath (sisyphus GH #235, GH #229) - Fix inconsistent behavior between decoding escaped and unescaped surrogates, and escaped non-characters vs non-escaped non-characters. Now aligned to JSON::PP (Gavin Hayes GH #233, GH #227) - Add type_all_string tests (Bernhard Schmalhofer GH #236) - Silence UV to char cast warnings (bulk88 GH #232) - Fix MSVC preprocessor errors (bulk88 GH #232) - Fix -Wformat warnings on Windows (sisyphus GH #228) - Clarify BigInt decoding (GH #226)
- Record
openSUSE-SU-2026:21140-1- Updated
- 2026-11-02
OSVSUSE-SU-2025:03193-1 No score
Security update for perl-Cpanel-JSON-XS
This update for perl-Cpanel-JSON-XS fixes the following issues:
- CVE-2025-40929: integer buffer overflow causing a segmentation fault when parsing crafted JSON (bsc#1249331).
- Record
SUSE-SU-2025:03193-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:4926-1 No score
Security update for perl-Cpanel-JSON-XS
This update for perl-Cpanel-JSON-XS fixes the following issues:
- CVE-2025-40929: integer overflow (bsc#1249331).
- CVE-2026-9334: type confusion via duplicate object keys when
dupkeys_as_arrayrefis enabled (bsc#1267546). - CVE-2026-9516: denial of service via UTF-8 BOM prefixed input when a decode filter callback throws (bsc#1267547).
- CVE-2026-110672: leak of decoded key of an object rejected for a duplicate key or a missing colon in
decode_hv(bsc#1286166). - CVE-2026-110673: stack exhaustion via nested tagged values under
allow_tagsindecode_tag(bsc#1286167). - CVE-2026-110674: duplicate non-ASCII bare keys are missed, allowing type confusion under
dupkeys_as_arrayrefindecode_hv(bsc#1286168). - CVE-2026-110675: malformed UTF-8 accepted in bare hash keys under
allow_barekeyindecode_hv(bsc#1286169). - CVE-2026-110676: memory exhaustion by encoding exponent notation as full decimal digits under
allow_bignum(bsc#1286170). - CVE-2026-110677: array collecting duplicate key values leaked under
dupkeys_as_arrayrefindecode_hv(bsc#1286173). - CVE-2026-110678: memory exhaustion by buffering incremental input past
max_sizeinincr_parse(bsc#1286174). - CVE-2026-110680: out-of-bounds write when a tied or shared hash grows during canonical encoding in
encode_hv(bsc#1286175). - CVE-2026-110681: parent interpreter's scalars from a parser object cloned into a new
ithread(bsc#1286176). - CVE-2026-110682: input chunking can change the decoded value of top-level numbers in
incr_parse(bsc#1286177). - CVE-2026-110684: memory leaked and overloaded objects retained when encoding values as strings in
encode_stringify(bsc#1286179). - CVE-2026-110685: decoded arguments of a tagged value leaked when its THAW method dies in
decode_tag(bsc#1286180). - CVE-2026-110686: freed filter callbacks used when a filter removes itself during decoding in
decode_hv(bsc#1286181). - CVE-2026-110687: byte-string keys misordered during canonical encoding in
utf16_cmp(bsc#1286182). - CVE-2026-110688: quadratic CPU use due to remaining buffer revalidation per value in
incr_parse(bsc#1286183).
Changes for perl-Cpanel-JSON-XS:
- updated to 4.800.0 (4.80)
- Add version markers to all module files. (PR #260 demerphq)
- Use utf8n_to_uvchr on Perl 5.32 and later to avoid the deprecated utf8n_to_uvuni API. (PR #260 demerphq)
- Add schema-based validation for decoded JSON (GH #238): Cpanel::JSON::XS::Type now provides check_type($data, $schema[, $found_type]), which validates an already-decoded perl structure against a type spec built from the existing encoder building blocks (JSON_TYPE_* / json_type_arrayof / json_type_hashof / json_type_anyof), plus the new json_type_optional() for hash keys that may be absent, and short scalar type name sugar ('Str', 'Int', 'Float', 'Bool', 'Null', 'Any', and nullable 'Str?' etc.) so a schema reads as 'just a hash of keys and types', as requested. Unlike the encoder's hash type spec, a plain hashref schema is closed: unknown keys and missing required keys are reported. New $json->decode_and_validate($json_text, $schema) method decodes and croaks with all mismatches if validation fails, using decode()'s own type introspection as ground truth to avoid perl's usual dual-var/stringified-number ambiguity.
- json_type_optional() and the nullable '?' type-name suffixes ('Str?', 'Int?', 'Float?', 'Bool?') give schemas an explicit way to declare a key/value as optional instead of demanding a complete type specification for every key. The encoder now also understands json_type_optional() directly (it unwraps to the wrapped type, since encode() only ever sees keys that are actually present): the exact same type spec built for check_type()/decode_and_validate() can now be handed to encode() as-is, instead of croaking with 'no type was specified for hash key '...'' for every optional key. Encoding stays strict by default otherwise: a hash key…
- Record
SUSE-SU-2026:4926-1- Updated
- 2026-11-02
OSVUSN-7749-1 No score
libcpanel-json-xs-perl vulnerability
It was discovered that Cpanel-JSON-XS incorrectly handled parsing certain JSON data. An attacker could possibly use this issue to cause Cpanel-JSON-XS to crash, resulting in a denial of service.
- Record
USN-7749-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
perl-cpanel-json-xsAlpine:v3.20 |
before 4.40-r0 | 4.40-r0 |
perl-cpanel-json-xsAlpine:v3.21 |
before 4.40-r0 | 4.40-r0 |
perl-cpanel-json-xsAlpine:v3.22 |
before 4.40-r0 | 4.40-r0 |
perl-cpanel-json-xsAlpine:v3.23 |
before 4.40-r0 | 4.40-r0 |
perl-cpanel-json-xsAlpine:v3.24 |
before 4.40-r0 | 4.40-r0 |
perl-Cpanel-JSON-XSAzure Linux:2 |
through 4.27-2 | None known |
perl-Cpanel-JSON-XSAzure Linux:3 |
through 4.39-1 | None known |
libcpanel-json-xs-perlDebian:12 |
before 4.35-1+deb12u1, plus listed versions 4.35-1 |
4.35-1+deb12u1 |
libcpanel-json-xs-perlDebian:13 |
before 4.39-2~deb13u1, plus listed versions 4.39-1 |
4.39-2~deb13u1 |
libcpanel-json-xs-perlDebian:14 |
before 4.39-2, plus listed versions 4.39-14.39-2~deb13u1 |
4.39-2 |
Show 15 moreShow less
| Package | Affected | Fixed |
|---|---|---|
libcpanel-json-xs-perlDebian:11 |
before 4.25-1+deb11u1, plus listed versions 4.25-1 |
4.25-1+deb11u1 |
perl-Cpanel-JSON-XSMageia:9 |
before 4.350.0-1.1.mga9 | 4.350.0-1.1.mga9 |
perl-Cpanel-JSON-XSopenEuler:24.03-LTS-SP1 |
before 4.37-2.oe2403sp1 | 4.37-2.oe2403sp1 |
perl-Cpanel-JSON-XSopenEuler:24.03-LTS-SP2 |
before 4.37-2.oe2403sp2 | 4.37-2.oe2403sp2 |
perl-Cpanel-JSON-XSSUSE:Linux Enterprise Module for Package Hub 15 SP7 |
before 4.380.0-150700.3.3.1 | 4.380.0-150700.3.3.1 |
perl-Cpanel-JSON-XSSUSE:Linux Enterprise Module for Package Hub 15 SP7 From an advisory covering 18 CVEs |
before 4.800.0-150700.3.9.1 | 4.800.0-150700.3.9.1 |
libcpanel-json-xs-perlUbuntu:16.04:LTS |
All versions, plus listed versions 3.0115-13.0210-1ubuntu1 |
None known |
libcpanel-json-xs-perlUbuntu:18.04:LTS |
All versions, plus listed versions 3.0225-1build13.0239-1 |
None known |
libcpanel-json-xs-perlUbuntu:20.04:LTS |
All versions, plus listed versions 4.12-14.12-1build14.15-14.17-14.18-14.19-14.19-1build14.19-1ubuntu0.1 |
None known |
libcpanel-json-xs-perlUbuntu:22.04:LTS |
before 4.27-1ubuntu0.2, plus listed versions 4.25-1build14.25-1build24.27-14.27-1build14.27-1ubuntu0.1 |
4.27-1ubuntu0.2 |
libcpanel-json-xs-perlUbuntu:24.04:LTS |
before 4.37-1ubuntu0.1, plus listed versions 4.37-14.37-1build14.37-1build24.37-1build3 |
4.37-1ubuntu0.1 |
libcpanel-json-xs-perlUbuntu:25.10 |
before 4.39-2, plus listed versions 4.39-1 |
4.39-2 |
libcpanel-json-xs-perlUbuntu:26.04:LTS |
before 4.39-2 | 4.39-2 |
perl-Cpanel-JSON-XSopenSUSE:Tumbleweed |
before 4.400.0-1.1 | 4.400.0-1.1 |
perl-Cpanel-JSON-XSopenSUSE:Leap 16.0 From an advisory covering 3 CVEs |
before 4.420.0-bp160.1.1 | 4.420.0-bp160.1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected | ||
| facts | OSV | |
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2025-40929 is a medium vulnerability (CVSS 5.6) in Rurban Cpanel::json::xs, published September 8, 2025. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.46%, the 40th percentile. Fixed in perl-cpanel-json-xs 4.40-r0.
References
metacpan.org/release/RURBAN/Cpanel-JSON-XS-4.39/source/XS.xs
metacpan.org/release/RURBAN/Cpanel-JSON-XS-4.40/changes
github.com/rurban/Cpanel-JSON-XS/commit/378236219eaa35742c3962ecbdee364903b0a1f2.patch
lists.debian.org/debian-lts-announce/2025/09/msg00034.html
openwall.com/lists/oss-security/2025/09/08/1
nvd.nist.gov/vuln/detail/CVE-2025-40929
Show 52 moreShow less
github.com/advisories/GHSA-q7gx-445j-xwq8
security.alpinelinux.org/vuln/CVE-2025-40929
cpan.org/modules
github.com/CVEProject/cvelistV5/tree/main/cves/2025/40xxx/CVE-2025-40929.json
github.com/rurban/Cpanel-JSON-XS
security-tracker.debian.org/tracker/CVE-2025-40929
advisories.mageia.org/MGASA-2025-0284.html
bugs.mageia.org/show_bug.cgi?id=34627
openeuler.org/zh/security/security-bulletins/detail?id=openEuler-SA-2025-2241
openeuler.org/zh/security/security-bulletins/detail?id=openEuler-SA-2025-2242
suse.com/support/update/announcement/2025/suse-su-202503193-1
bugzilla.suse.com/1249331
suse.com/security/cve/CVE-2025-40929
suse.com/support/update/announcement/2026/suse-su-20264926-1
bugzilla.suse.com/1267546
bugzilla.suse.com/1267547
bugzilla.suse.com/1286166
bugzilla.suse.com/1286167
bugzilla.suse.com/1286168
bugzilla.suse.com/1286169
bugzilla.suse.com/1286170
bugzilla.suse.com/1286173
bugzilla.suse.com/1286174
bugzilla.suse.com/1286175
bugzilla.suse.com/1286176
bugzilla.suse.com/1286177
bugzilla.suse.com/1286179
bugzilla.suse.com/1286180
bugzilla.suse.com/1286181
bugzilla.suse.com/1286182
bugzilla.suse.com/1286183
suse.com/security/cve/CVE-2026-110672
suse.com/security/cve/CVE-2026-110673
suse.com/security/cve/CVE-2026-110674
suse.com/security/cve/CVE-2026-110675
suse.com/security/cve/CVE-2026-110676
suse.com/security/cve/CVE-2026-110677
suse.com/security/cve/CVE-2026-110678
suse.com/security/cve/CVE-2026-110680
suse.com/security/cve/CVE-2026-110681
suse.com/security/cve/CVE-2026-110682
suse.com/security/cve/CVE-2026-110684
suse.com/security/cve/CVE-2026-110685
suse.com/security/cve/CVE-2026-110686
suse.com/security/cve/CVE-2026-110687
suse.com/security/cve/CVE-2026-110688
suse.com/security/cve/CVE-2026-9334
suse.com/security/cve/CVE-2026-9516
ubuntu.com/security/CVE-2025-40929
cve.org/CVERecord?id=CVE-2025-40929
lists.security.metacpan.org/cve-announce/msg/32608920
ubuntu.com/security/notices/USN-7749-1
Left out here: the rest of 1 source description. The JSON record has them.