
Research
/Security News
Critical Vulnerability in NestJS Devtools: Localhost RCE via Sandbox Escape
A flawed sandbox in @nestjs/devtools-integration lets attackers run code on your machine via CSRF, leading to full Remote Code Execution (RCE).
This is a proof of concept REST backend for a cloud based Delay Line Memory database.
This database is like a memory database, but instead of memory, it transmits the data to another node over the network in an infinite loop and does not save the data locally.
Essentially the data is in the network data stream between the nodes.
It...
The bundled compiled backend does not have installable dependencies except Node v14 LTS and NPM command.
Clone it from Github using git clone https://github.com/sendanor/dldb.git dldb
and start the node using command npm start
.
...or install it from the NPM: npm install dldb
and start the node using dldbd
command.
Building is not strictly necessary, since the git repository includes already compiled dist directory.
$ npm install
$ npm run build
$ echo -n 'Secret1234'|shasum -a 512
9006d55d6e812ca3cf599dd70bf7142bddc4077553caafc505cb609edbc6e48bd86acf76b52e5903a125950dfedd70c32144bd59adcd798f3a504dc3c7bc37e9 -
Start the first node:
$ DLDB_INCOMING_SECRET='9006d55d6e812ca3cf599dd70bf7142bddc4077553caafc505cb609edbc6e48bd86acf76b52e5903a125950dfedd70c32144bd59adcd798f3a504dc3c7bc37e9' \
DLDB_PORT=3000 \
DLDB_NODES='http://localhost:3001' \
npm start
Start the second node:
$ DLDB_INCOMING_SECRET='9006d55d6e812ca3cf599dd70bf7142bddc4077553caafc505cb609edbc6e48bd86acf76b52e5903a125950dfedd70c32144bd59adcd798f3a504dc3c7bc37e9' \
DLDB_PORT=3001 \
DLDB_NODES='http://localhost:3000' \
npm start
$ curl -i -X POST 'http://localhost:3000/d/74766E7B-D41A-4A95-8C01-A28213B0C84A' -d '{"secret": "Secret1234", "payload":{"hello":"world"}, "level": 1, "from": "http://localhost:3001"}'
HTTP/1.1 200 OK
Content-Type: application/json
Date: Sat, 14 Nov 2020 21:17:05 GMT
Connection: keep-alive
Keep-Alive: timeout=5
Content-Length: 20
{
"status": "OK"
}
You should not start it multiple times :)
$ curl -i -X GET http://localhost:3000/74766E7B-D41A-4A95-8C01-A28213B0C84A
HTTP/1.1 200 OK
Content-Type: application/json
Date: Sat, 14 Nov 2020 21:17:58 GMT
Connection: keep-alive
Keep-Alive: timeout=5
Content-Length: 43
{
"payload": {
"hello": "world"
}
}
$ curl -i -X POST -d '{"foo":1234}' http://localhost:3000/74766E7B-D41A-4A95-8C01-A28213B0C84A
HTTP/1.1 200 OK
Content-Type: application/json
Date: Sat, 14 Nov 2020 21:18:37 GMT
Connection: keep-alive
Keep-Alive: timeout=5
Content-Length: 60
{
"payload": {
"hello": "world",
"foo": 1234
}
}
DLDB_PUBLIC_HOST
)The address which other nodes can use to connect to this node.
This is localhost:{DLDB_PORT}
by default.
DLDB_PUBLIC_URL
)The public URL which other nodes can use to connect to this node.
This is http://{DLDB_PUBLIC_HOST}
by default.
DLDB_HOSTNAME
)The default listening hostname is 0.0.0.0
, eg. every interface on the system.
DLDB_PORT
)Default port is 3000
and can be changed using DLDB_PORT
environment variable.
DLDB_SEND_DELAY
)If no nodes have requested data, by default the operating node will wait for a 300 ms until sending the data to another node, so that you don't accidentally nuke your system.
You may change the delay by changing DLDB_SEND_DELAY
environment variable.
FAQs
Cloud Delay Line Memory Database
We found that dldb demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
/Security News
A flawed sandbox in @nestjs/devtools-integration lets attackers run code on your machine via CSRF, leading to full Remote Code Execution (RCE).
Product
Customize license detection with Socket’s new license overlays: gain control, reduce noise, and handle edge cases with precision.
Product
Socket now supports Rust and Cargo, offering package search for all users and experimental SBOM generation for enterprise projects.