Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Protect req.socket.remoteAddress in appsec reporter #4954

Merged
merged 3 commits into from
Dec 2, 2024

Conversation

uurien
Copy link
Collaborator

@uurien uurien commented Nov 28, 2024

What does this PR do?

Protect req.socket.remoteAddress for the use cases when req.socket is empty.

Motivation

Detected logs with the failure.

Copy link

github-actions bot commented Nov 28, 2024

Overall package size

Self size: 8.11 MB
Deduped: 94.61 MB
No deduping: 95.18 MB

Dependency sizes | name | version | self size | total size | |------|---------|-----------|------------| | @datadog/libdatadog | 0.2.2 | 29.27 MB | 29.27 MB | | @datadog/native-appsec | 8.3.0 | 19.37 MB | 19.38 MB | | @datadog/native-iast-taint-tracking | 3.2.0 | 13.9 MB | 13.91 MB | | @datadog/pprof | 5.4.1 | 9.76 MB | 10.13 MB | | protobufjs | 7.2.5 | 2.77 MB | 5.16 MB | | @datadog/native-iast-rewriter | 2.5.0 | 2.51 MB | 2.65 MB | | @opentelemetry/core | 1.14.0 | 872.87 kB | 1.47 MB | | @datadog/native-metrics | 3.0.1 | 1.06 MB | 1.46 MB | | @opentelemetry/api | 1.8.0 | 1.21 MB | 1.21 MB | | import-in-the-middle | 1.11.2 | 112.74 kB | 826.22 kB | | msgpack-lite | 0.1.26 | 201.16 kB | 281.59 kB | | source-map | 0.7.4 | 226 kB | 226 kB | | opentracing | 0.14.7 | 194.81 kB | 194.81 kB | | lru-cache | 7.18.3 | 133.92 kB | 133.92 kB | | pprof-format | 2.1.0 | 111.69 kB | 111.69 kB | | @datadog/sketches-js | 2.1.0 | 109.9 kB | 109.9 kB | | semver | 7.6.3 | 95.82 kB | 95.82 kB | | lodash.sortby | 4.7.0 | 75.76 kB | 75.76 kB | | ignore | 5.3.1 | 51.46 kB | 51.46 kB | | int64-buffer | 0.1.10 | 49.18 kB | 49.18 kB | | shell-quote | 1.8.1 | 44.96 kB | 44.96 kB | | istanbul-lib-coverage | 3.2.0 | 29.34 kB | 29.34 kB | | rfdc | 1.3.1 | 25.21 kB | 25.21 kB | | @isaacs/ttlcache | 1.4.1 | 25.2 kB | 25.2 kB | | tlhunter-sorted-set | 0.1.0 | 24.94 kB | 24.94 kB | | limiter | 1.1.5 | 23.17 kB | 23.17 kB | | dc-polyfill | 0.1.4 | 23.1 kB | 23.1 kB | | retry | 0.13.1 | 18.85 kB | 18.85 kB | | jest-docblock | 29.7.0 | 8.99 kB | 12.76 kB | | crypto-randomuuid | 1.0.0 | 11.18 kB | 11.18 kB | | koalas | 1.0.2 | 6.47 kB | 6.47 kB | | path-to-regexp | 0.1.10 | 6.38 kB | 6.38 kB | | module-details-from-path | 1.0.3 | 4.47 kB | 4.47 kB |

🤖 This report was automatically generated by heaviest-objects-in-the-universe

@pr-commenter
Copy link

pr-commenter bot commented Nov 28, 2024

Benchmarks

Benchmark execution time: 2024-11-28 10:55:52

Comparing candidate commit b274c00 in PR branch ugaitz/protect-socket-remote-address with baseline commit ac19207 in branch master.

Found 0 performance improvements and 0 performance regressions! Performance is the same for 263 metrics, 3 unstable metrics.

CarlesDD
CarlesDD previously approved these changes Nov 28, 2024
@CarlesDD
Copy link
Contributor

Worth adding a test?

IlyasShabi
IlyasShabi previously approved these changes Nov 28, 2024
Copy link
Contributor

@IlyasShabi IlyasShabi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[NIT] Is it possible to have a test for this ?

@simon-id
Copy link
Member

how does a req not have a socket??

@uurien
Copy link
Collaborator Author

uurien commented Nov 28, 2024

@simon-id

how does a req not have a socket??

I saw this happening in the logs, and the doc says that this could be null: https://nodejs.org/docs/latest/api/http.html#messagesocket

unless the user specified a socket type other than <net.Socket> or internally nulled

@uurien uurien dismissed stale reviews from IlyasShabi and CarlesDD via 5ac6c03 November 28, 2024 10:00
Copy link
Member

@simon-id simon-id left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

a bit weird cuz i can't find a place where the socket would get removed in node core, but i don't have time to investigate this more

@uurien uurien merged commit 865654c into master Dec 2, 2024
252 checks passed
@uurien uurien deleted the ugaitz/protect-socket-remote-address branch December 2, 2024 09:59
@rochdev rochdev mentioned this pull request Dec 17, 2024
@rochdev rochdev mentioned this pull request Dec 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants