CVE-2018-18628: Pippo - Deserialization of Untrusted Data

ro.pippo:pippo-core Updated 02 Oct 2025

Summary

24/10/2018
Yes i
Critical
9.8

CVE-2018-18628: Deserialization of Untrusted Data in Pippo. Affects ro.pippo:pippo-core versions < 1.12.0. Fixed in 1.12.0. How to fix ↓

Free scan

Check if this vulnerability affects your application

Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.

Check my app free

No signup required · Results in about 60 seconds

Upload your dependency manifest or SBOM

Drag & drop your file here or

Java Javascript PHP Python Go Rust Ruby Dart C/C++ Elixir CycloneDX SPDX

Upload a supported dependency manifest or SBOM. No installation or source-code access required.

See supported files and SBOM formats
SBOM sbom.json · bom.json · bom.xml · *.spdx.json · *.cdx.json · *.cdx.xml
Java pom.xml · gradle.lockfile · buildscript-gradle.lockfile
Javascript package-lock.json · yarn.lock · pnpm-lock.yaml
PHP composer.lock
Python poetry.lock · requirements.txt · Pipfile.lock
Go go.mod
Rust Cargo.lock
Ruby Gemfile.lock
Dart pubspec.lock
C/C++ conan.lock
Elixir mix.lock
Enter your work email to receive your report link.

Verify your email to view the full report and start 30 days of continuous monitoring. No credit card required.

Sponsored MarkAI Find prospects already talking about the problem you solve AI watches the communities your customers use to find qualified prospects, then alerts you when a conversation is worth joining. See MarkAI

Background

Pippo is a Java micro web framework that aims to be simple and lightweight. It provides a set of features for building web applications, including routing, templating, and session management. The Pippo core package (ro.pippo:pippo-core) is affected by a critical vulnerability that allows for the deserialization of untrusted data.

Vulnerability Detail

The vulnerability (CVE-2018-18628) arises from a flaw in the Pippo 1.11.0 function SerializationSessionDataTranscoder.decode(). This function utilizes ObjectInputStream.readObject() to deserialize a SessionData object without proper object type verification. An attacker can exploit this by creating a malicious object, encoding it in base64, and inserting it into the PIPPO_SESSION field of a cookie. When this cookie is sent, it can lead to remote code execution, potentially resulting in severe consequences.

How To Fix

Latest published version: 1.14.0 as of 22 Oct 2026

Upgrading to it may include breaking changes; the version below is the minimum fixed release for this vulnerability.

If you need the minimum change

1.12.0

This is the first release that contains the fix.

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Workaround

As a workaround, developers can consider implementing their own custom session data serialization and deserialization logic, ensuring proper validation of object types. This approach can help prevent the exploitation of the vulnerability until an official fix is available. Here is an example of custom serialization and deserialization logic:

// Custom serialization

ByteArrayOutputStream bos = new ByteArrayOutputStream(); ObjectOutputStream oos = new

ObjectOutputStream(bos);

oos.writeObject(sessionData);
oos.flush();

String serializedData =

Base64.getEncoder().encodeToString(bos.toByteArray());

// Custom deserialization

byte[] decodedData =

Base64.getDecoder().decode(serializedData);

ObjectInputStream ois = new

ObjectInputStream(new ByteArrayInputStream(decodedData));

SessionData deserializedData = (SessionData) ois.readObject();

Conclusion

The Pippo core package (ro.pippo:pippo-core) is vulnerable to remote code execution due to the deserialization of untrusted data. To mitigate this critical vulnerability, it is crucial to upgrade to a version beyond 1.11.0 and ensure the fix for the deserialization issue is included. Implementing custom serialization and deserialization logic can serve as a temporary workaround. For further assistance and support in vulnerability remediation, contact DevNack.com.

See every vulnerability recorded for ro.pippo:pippo-core →

Share this vulnerability

FAQ

The vulnerability allows for remote code execution, which can lead to unauthorized access, data breaches, and potential compromise of the entire system.

The vulnerability affects Pippo 1.11.0. Earlier versions may also be impacted, but specific details are not available.

While specific exploits may not be publicly available, the existence of the vulnerability increases the risk of potential attacks. It is crucial to address the issue promptly.

Upgrading to a version of Pippo core beyond 1.11.0 is the recommended mitigation. Additionally, implementing custom serialization and deserialization logic can serve as a temporary workaround.

For more information about Pippo and its security, refer to the official Pippo documentation and security advisories.

Related vulnerabilities

Recent vulnerabilities recorded for ro.pippo:pippo-core.

How To Fix

Latest published version: 1.14.0 as of 22 Oct 2026

Upgrading to it may include breaking changes; the version below is the minimum fixed release for this vulnerability.

If you need the minimum change

1.12.0

This is the first release that contains the fix.

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback