basicsecurity.net
Proof, not just disclosure.
Threats / Liferay / CVE-2020-7961
CVE-2020-7961 · EUVD no mirror located · GCVE no mirror located Verified 2026-06-22

Liferay Portal vulnerability

Liferay Portal is vulnerable to remote code execution through deserialization of untrusted data in JSON web services, allowing unauthenticated attackers to execute arbitrary code.

Verdict

Today item — known-exploited.

A critical deserialization flaw in Liferay Portal's JSON web services enables remote code execution without authentication. The vulnerability has been actively exploited in the wild with high exploit probability, posing immediate risk to exposed instances.

CISA KEV Yes · 2021-11-033EPSS 0.99783 (verify live)4Exploit Weaponized · public PoC5
01

Is it exploitable?

— the evidence, ranked above the score
Exploit available
Fully weaponized — public exploit code is cataloged for this vulnerability.We link the existence of the exploit; we do not host or redistribute payloads.
Reported exploitation
24 independent public reports of in-the-wild exploitation are cataloged.Distinct reporting sources (vendor, incident response, government); open them for the underlying claims.
Exploited in the wild
Listed in the CISA Known Exploited Vulnerabilities catalog (added 2021-11-03).
CISA KEV ↗Confirmed
Probability (EPSS)
EPSS 0.99783 — modeled likelihood of exploitation activity.EPSS is a daily-changing model output — open the source for today's value.
Severity / affected
Affected: Liferay, Liferay Portal. Confirm exact fixed builds in the vendor advisory.
NVD ↗Reported
Weakness (CWE)
Mapped to CWE-502 Deserialization of Untrusted Data — weakness family: Injection.CWE assignment from the public NVD record; the weakness class drives how the flaw is exploited.
NVD ↗Reported
02

Who’s exploiting it?

— attribution turns risk into urgency
Attribution not established

No confirmed (advisory-backed) threat-actor attribution is established for this record. Absence of a named actor is not absence of compromise — see Coverage & confidence.

03

Why it matters

— the attack path, told twice: adversary, then board
1

Front door — unauthenticated access narrative 1

Attacker
I craft a malicious JSON payload containing serialized Java objects and send it to the vulnerable JSON web service endpoint.
Business
Attackers gain unauthenticated remote code execution capability against the Liferay Portal instance.
2

Keys to the kingdom — privilege/identity takeover narrative 2

Attacker
I trigger deserialization of the untrusted object data within the application's Java runtime environment.
Business
Arbitrary code executes with the privileges of the Liferay Portal application process.
3

Lateral reach — past segmentation narrative 3

Attacker
I establish persistence and move laterally through the compromised infrastructure.
Business
Complete compromise of the portal system, underlying servers, and connected enterprise data and systems.
04

What to do

— defensible action
  • Remediate per the vendor advisory — confirm the fixed build for your version and verify exposure.1
Say it to the boardA vulnerability with this evidence profile is a defensible budget line, not a backlog ticket — fund the change against the proof above.
05

Coverage & confidence

— what we know, and what we don’t

Established (cited)

  • KEV listing (CISA)
  • EPSS probability (FIRST)
  • Weaponized exploit available (VulnCheck)
  • 24 reported-exploitation source(s)
  • CWE weakness mapping (NVD)
  • Public exploit availability
  • Catalogued by mitre (CNA)
  • Coverage gaps — stated, not hidden

  • No EUVD / GCVE mirror in feed — single-authority dependency for the identifier.
  • EPSS & exposure are time-varying; verify live at the source.
  • Threat-actor attribution not established from feed data — absence of a name is not absence of compromise.
  • No finder/reporter credit recorded in the public CVE entry — the work behind this find is unattributed.
  • Disclosure & credit2
    Catalogued by mitreCNA
    Credited with finding itNo finder named in the public CVE record — the work behind this find is unattributed.