CVE-2025-47153: CWE-1102 Reliance on Machine-Dependent Data Representation in Debian trixie
Certain build processes for libuv and Node.js for 32-bit systems, such as for the nodejs binary package through nodejs_20.19.0+dfsg-2_i386.deb for Debian GNU/Linux, have an inconsistent off_t size (e.g., building on i386 Debian always uses _FILE_OFFSET_BITS=64 for the libuv dynamic library, but uses the _FILE_OFFSET_BITS global system default of 32 for nodejs), leading to out-of-bounds access. NOTE: this is not a problem in the Node.js software itself. In particular, the Node.js website's download page does not offer prebuilt Node.js for Linux on i386.
AI Analysis
Technical Summary
CVE-2025-47153 is a medium-severity vulnerability affecting the Debian trixie distribution's Node.js package for 32-bit i386 systems. The root cause lies in inconsistent handling of the off_t data type size during the build process of libuv and Node.js binaries. Specifically, when building on i386 Debian, the libuv dynamic library is compiled with _FILE_OFFSET_BITS=64, enabling 64-bit file offsets, while the Node.js binary itself is compiled with the system default _FILE_OFFSET_BITS=32, resulting in a mismatch. This inconsistency leads to out-of-bounds memory access during runtime because libuv and Node.js expect different sizes for file offset variables. Notably, this issue is limited to the Debian package build process and does not affect the Node.js software itself or prebuilt Node.js binaries from the official Node.js website, which does not provide Linux i386 builds. The vulnerability is classified under CWE-1102, which concerns reliance on machine-dependent data representation, causing portability and memory safety issues. The CVSS v3.1 base score is 6.5 (medium), with vector AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:L, indicating network attack vector, high attack complexity, no privileges or user interaction required, and a scope change with low confidentiality, integrity, and availability impacts. There are no known exploits in the wild, and no patches have been linked yet. The vulnerability primarily affects the nodejs_0.10.0~dfsg1-1_i386.deb package in Debian trixie, which is a less common architecture and distribution combination in modern environments but may still be in use in legacy or specialized systems.
Potential Impact
For European organizations, the impact of this vulnerability is primarily on systems running Debian trixie on 32-bit i386 architectures with the affected Node.js package installed. The out-of-bounds access can lead to memory corruption, potentially causing application crashes or undefined behavior, which affects availability and integrity of services relying on Node.js. Confidentiality impact is low but possible if memory corruption can be leveraged for information disclosure. Since the vulnerability does not require authentication or user interaction and can be triggered remotely (network vector), it poses a risk to exposed services using the affected package. However, the high attack complexity and limited scope to a niche architecture reduce the overall risk. European organizations using legacy embedded systems, industrial control systems, or specialized applications on 32-bit Debian trixie may be more vulnerable. The vulnerability could disrupt critical services or cause denial of service, impacting business continuity. Given the scope change, exploitation could affect other components linked to Node.js and libuv, potentially cascading failures in dependent applications.
Mitigation Recommendations
1. Avoid using the affected nodejs_0.10.0~dfsg1-1_i386.deb package on Debian trixie for 32-bit systems; prefer official Node.js binaries or upgrade to 64-bit architectures where possible. 2. Rebuild Node.js and libuv from source ensuring consistent _FILE_OFFSET_BITS settings (both set to 64) to prevent size mismatches. 3. Implement runtime memory protection mechanisms such as AddressSanitizer during development and testing to detect out-of-bounds accesses. 4. Restrict network exposure of services running on affected Node.js versions to trusted internal networks only. 5. Monitor Debian security advisories for patches or updated packages addressing this issue and apply them promptly. 6. Conduct thorough testing of Node.js-based applications on 32-bit Debian trixie systems to identify instability or crashes related to this vulnerability. 7. Where feasible, migrate applications to supported, modern architectures and distributions to eliminate reliance on legacy 32-bit builds. 8. Employ intrusion detection systems tuned to detect anomalous behavior or crashes in Node.js services that could indicate exploitation attempts.
Affected Countries
Germany, France, United Kingdom, Netherlands, Poland, Italy, Spain, Sweden
CVE-2025-47153: CWE-1102 Reliance on Machine-Dependent Data Representation in Debian trixie
Description
Certain build processes for libuv and Node.js for 32-bit systems, such as for the nodejs binary package through nodejs_20.19.0+dfsg-2_i386.deb for Debian GNU/Linux, have an inconsistent off_t size (e.g., building on i386 Debian always uses _FILE_OFFSET_BITS=64 for the libuv dynamic library, but uses the _FILE_OFFSET_BITS global system default of 32 for nodejs), leading to out-of-bounds access. NOTE: this is not a problem in the Node.js software itself. In particular, the Node.js website's download page does not offer prebuilt Node.js for Linux on i386.
AI-Powered Analysis
Technical Analysis
CVE-2025-47153 is a medium-severity vulnerability affecting the Debian trixie distribution's Node.js package for 32-bit i386 systems. The root cause lies in inconsistent handling of the off_t data type size during the build process of libuv and Node.js binaries. Specifically, when building on i386 Debian, the libuv dynamic library is compiled with _FILE_OFFSET_BITS=64, enabling 64-bit file offsets, while the Node.js binary itself is compiled with the system default _FILE_OFFSET_BITS=32, resulting in a mismatch. This inconsistency leads to out-of-bounds memory access during runtime because libuv and Node.js expect different sizes for file offset variables. Notably, this issue is limited to the Debian package build process and does not affect the Node.js software itself or prebuilt Node.js binaries from the official Node.js website, which does not provide Linux i386 builds. The vulnerability is classified under CWE-1102, which concerns reliance on machine-dependent data representation, causing portability and memory safety issues. The CVSS v3.1 base score is 6.5 (medium), with vector AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:L, indicating network attack vector, high attack complexity, no privileges or user interaction required, and a scope change with low confidentiality, integrity, and availability impacts. There are no known exploits in the wild, and no patches have been linked yet. The vulnerability primarily affects the nodejs_0.10.0~dfsg1-1_i386.deb package in Debian trixie, which is a less common architecture and distribution combination in modern environments but may still be in use in legacy or specialized systems.
Potential Impact
For European organizations, the impact of this vulnerability is primarily on systems running Debian trixie on 32-bit i386 architectures with the affected Node.js package installed. The out-of-bounds access can lead to memory corruption, potentially causing application crashes or undefined behavior, which affects availability and integrity of services relying on Node.js. Confidentiality impact is low but possible if memory corruption can be leveraged for information disclosure. Since the vulnerability does not require authentication or user interaction and can be triggered remotely (network vector), it poses a risk to exposed services using the affected package. However, the high attack complexity and limited scope to a niche architecture reduce the overall risk. European organizations using legacy embedded systems, industrial control systems, or specialized applications on 32-bit Debian trixie may be more vulnerable. The vulnerability could disrupt critical services or cause denial of service, impacting business continuity. Given the scope change, exploitation could affect other components linked to Node.js and libuv, potentially cascading failures in dependent applications.
Mitigation Recommendations
1. Avoid using the affected nodejs_0.10.0~dfsg1-1_i386.deb package on Debian trixie for 32-bit systems; prefer official Node.js binaries or upgrade to 64-bit architectures where possible. 2. Rebuild Node.js and libuv from source ensuring consistent _FILE_OFFSET_BITS settings (both set to 64) to prevent size mismatches. 3. Implement runtime memory protection mechanisms such as AddressSanitizer during development and testing to detect out-of-bounds accesses. 4. Restrict network exposure of services running on affected Node.js versions to trusted internal networks only. 5. Monitor Debian security advisories for patches or updated packages addressing this issue and apply them promptly. 6. Conduct thorough testing of Node.js-based applications on 32-bit Debian trixie systems to identify instability or crashes related to this vulnerability. 7. Where feasible, migrate applications to supported, modern architectures and distributions to eliminate reliance on legacy 32-bit builds. 8. Employ intrusion detection systems tuned to detect anomalous behavior or crashes in Node.js services that could indicate exploitation attempts.
Affected Countries
For access to advanced analysis and higher rate limits, contact root@offseq.com
Technical Details
- Data Version
- 5.1
- Assigner Short Name
- mitre
- Date Reserved
- 2025-05-01T00:00:00.000Z
- Cisa Enriched
- true
- Cvss Version
- 3.1
- State
- PUBLISHED
Threat ID: 682d9837c4522896dcbebb04
Added to database: 5/21/2025, 9:09:11 AM
Last enriched: 6/26/2025, 3:13:47 AM
Last updated: 8/17/2025, 9:24:49 AM
Views: 11
Related Threats
CVE-2025-9091: Hard-coded Credentials in Tenda AC20
LowCVE-2025-9090: Command Injection in Tenda AC20
MediumCVE-2025-9092: CWE-400 Uncontrolled Resource Consumption in Legion of the Bouncy Castle Inc. Bouncy Castle for Java - BC-FJA 2.1.0
LowCVE-2025-9089: Stack-based Buffer Overflow in Tenda AC20
HighCVE-2025-9088: Stack-based Buffer Overflow in Tenda AC20
HighActions
Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.
External Links
Need enhanced features?
Contact root@offseq.com for Pro access with improved analysis and higher rate limits.