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

Prevent object key tainting #4251

Merged
merged 4 commits into from
Apr 23, 2024
Merged

Conversation

CarlesDD
Copy link
Contributor

What does this PR do?

Prevent tainting object keys such as cookie and header names.

Motivation

It has been found that when object keys are tainted, matching literals are tainted as well, leading to a potentially false positives in vulnerability detection.

Plugin Checklist

Copy link

github-actions bot commented Apr 22, 2024

Overall package size

Self size: 6.39 MB
Deduped: 60.88 MB
No deduping: 61.16 MB

Dependency sizes

name version self size total size
@datadog/native-iast-taint-tracking 1.7.0 16.71 MB 16.72 MB
@datadog/native-appsec 7.1.1 14.39 MB 14.4 MB
@datadog/pprof 5.2.0 8.84 MB 9.21 MB
protobufjs 7.2.5 2.77 MB 6.56 MB
@datadog/native-iast-rewriter 2.3.0 2.15 MB 2.24 MB
@opentelemetry/core 1.14.0 872.87 kB 1.47 MB
@datadog/native-metrics 2.0.0 898.77 kB 1.3 MB
@opentelemetry/api 1.4.1 780.32 kB 780.32 kB
import-in-the-middle 1.7.3 67.62 kB 731.01 kB
msgpack-lite 0.1.26 201.16 kB 281.59 kB
opentracing 0.14.7 194.81 kB 194.81 kB
semver 7.5.4 93.4 kB 123.8 kB
pprof-format 2.1.0 111.69 kB 111.69 kB
@datadog/sketches-js 2.1.0 109.9 kB 109.9 kB
lodash.sortby 4.7.0 75.76 kB 75.76 kB
lru-cache 7.14.0 74.95 kB 74.95 kB
ipaddr.js 2.1.0 60.23 kB 60.23 kB
ignore 5.2.4 51.22 kB 51.22 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
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
node-abort-controller 3.1.1 16.89 kB 16.89 kB
jest-docblock 29.7.0 8.99 kB 12.76 kB
crypto-randomuuid 1.0.0 11.18 kB 11.18 kB
path-to-regexp 0.1.7 6.78 kB 6.78 kB
koalas 1.0.2 6.47 kB 6.47 kB
methods 1.1.2 5.29 kB 5.29 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

Copy link

codecov bot commented Apr 22, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 69.19%. Comparing base (c4c01e4) to head (527c646).
Report is 7 commits behind head on master.

❗ Current head 527c646 differs from pull request most recent head b1ff946. Consider uploading reports for the commit b1ff946 to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #4251      +/-   ##
==========================================
- Coverage   73.16%   69.19%   -3.98%     
==========================================
  Files         245        1     -244     
  Lines       10442      198   -10244     
  Branches       33       33              
==========================================
- Hits         7640      137    -7503     
+ Misses       2802       61    -2741     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@pr-commenter
Copy link

pr-commenter bot commented Apr 22, 2024

Benchmarks

Benchmark execution time: 2024-04-22 09:29:54

Comparing candidate commit b1ff946 in PR branch ccapell/prevent-object-keys-tainting with baseline commit c879030 in branch master.

Found 1 performance improvements and 0 performance regressions! Performance is the same for 261 metrics, 4 unstable metrics.

scenario:plugin-graphql-with-depth-and-collapse-on-18

  • 🟩 max_rss_usage [-150.628MB; -89.588MB] or [-15.776%; -9.383%]

@CarlesDD CarlesDD merged commit 28fd256 into master Apr 23, 2024
110 of 111 checks passed
@CarlesDD CarlesDD deleted the ccapell/prevent-object-keys-tainting branch April 23, 2024 09:32
tlhunter pushed a commit that referenced this pull request Apr 25, 2024
* Prevent tainting object keys - header and cookie names

* Add test to check literal tainting on matching object key tainting

* Remove taint object keys logic

* Remove taint header names test
tlhunter pushed a commit that referenced this pull request Apr 25, 2024
* Prevent tainting object keys - header and cookie names

* Add test to check literal tainting on matching object key tainting

* Remove taint object keys logic

* Remove taint header names test
tlhunter pushed a commit that referenced this pull request Apr 25, 2024
* Prevent tainting object keys - header and cookie names

* Add test to check literal tainting on matching object key tainting

* Remove taint object keys logic

* Remove taint header names test
This was referenced Apr 29, 2024
tlhunter pushed a commit that referenced this pull request Apr 29, 2024
* Prevent tainting object keys - header and cookie names

* Add test to check literal tainting on matching object key tainting

* Remove taint object keys logic

* Remove taint header names test
tlhunter pushed a commit that referenced this pull request Apr 29, 2024
* Prevent tainting object keys - header and cookie names

* Add test to check literal tainting on matching object key tainting

* Remove taint object keys logic

* Remove taint header names test
tlhunter pushed a commit that referenced this pull request Apr 29, 2024
* Prevent tainting object keys - header and cookie names

* Add test to check literal tainting on matching object key tainting

* Remove taint object keys logic

* Remove taint header names test
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.

None yet

3 participants