Lucene search

K
huntrOhb0063F1FF91-48F3-4886-A179-103F1DDD8FF8
HistoryMar 03, 2023 - 4:55 p.m.

RCE using bad deserialization

2023-03-0316:55:51
ohb00
www.huntr.dev
13
qwik
serialization
deserialization
pureserverfunction
javascript code
application/qwik-json
post request
bug bounty
proof of concept
execution environment

EPSS

0.003

Percentile

71.7%

Description

Qwik provides an extended serialization mechanism for exchanging data between the client and server.
This allows for the serialization and deserialization of Date, Regex, Signal, Function and many other useful data types.

The Function deserializer can be accessed using the pureServerFunction feature. This allows us to pass in any Javascript code to be run by node.js.

Proof of Concept

By sending a POST request with a content type of application/qwik-json to /q-data.json we can trigger the vulnerable deserialization.

You can see the full proof of concept here. There is a little bit of finesse required due to the execution environment.

Video here.

EPSS

0.003

Percentile

71.7%

Related for 63F1FF91-48F3-4886-A179-103F1DDD8FF8