# CVE-2026-75895: libsmpp34 out-of-bounds read in smpp34_unpack function

Source: https://junglewise.ai/threats/cve-2026-75895-in-libsmpp35-from-0-1-0-through-1-8-0-out-of-bound-read-issue-was  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-09-18. Updated: 2026-09-26  
License: CC BY 4.0 with a link back

CVE-2026-75895 · Severity: high · CVSS 7.5 · Published 2026-09-18

libsmpp34 is a library that processes SMPP (Short Message Peer-to-Peer) protocol messages used in SMS telecommunications systems. An attacker sending specially crafted SMPP protocol messages can trigger an out-of-bounds memory read in the unpacking function, potentially leading to information disclosure or application crashes in systems that process untrusted SMPP PDUs.

Vendors: [Osmocom](https://junglewise.ai/threats/vendors/osmocom).

## Quick answers

**Is CVE-2026-75895 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-75895 being exploited in the wild.

**How severe is CVE-2026-75895?** High severity, with a CVSS score of 7.5, published 18 September 2026.

**Which products and versions are affected?** Osmocom Libsmpp34 0.1.0 through 1.8.0.

**Is there a fix for CVE-2026-75895?** A patch was published on 2026-08-12: fix committed to repository Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-75895 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-75895?** Check whether you run Osmocom Libsmpp34 at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## Technical details

The smpp34_unpack() function uses strlen() to parse C_OCTET_STRING fields directly from the wire buffer before validating buffer bounds. Since SMPP PDUs are decoded from a buffer sized exactly to command_length with no trailing NUL terminator, strlen() reads past the allocation boundary when a field lacks a terminator. The fix replaces strlen() with strnlen() bounded by remaining buffer length to prevent out-of-bounds reads.

## Affected products

- Osmocom libsmpp34 0.1.0 through 1.8.0

## Timeline

- 2026-09-18: disclosed
- 2026-08-12: patched: fix committed to repository
- 2026-09-18: advisory

## References

- [https://cgit.osmocom.org/libsmpp34/commit/?id=af0e2912057551dab97bbe26e6a41f18a75f3bbb](https://cgit.osmocom.org/libsmpp34/commit/?id=af0e2912057551dab97bbe26e6a41f18a75f3bbb)
