-
Notifications
You must be signed in to change notification settings - Fork 136
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
Add SSRF detector #643
Add SSRF detector #643
Conversation
b102ebf
to
806c69a
Compare
e5ebda2
to
b7ac3a1
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks reasonable to me. The example fuzzer is quite slow, and I was able to get one slow output (as mentioned in the sanitizer comments), which I'm not sure is a good finding here..
Slowest unit: 75 s:
artifact_prefix='/private/var/tmp/_bazel_christopher/8c60c24fbbc15a396e9df7c56a2aae10/execroot/jazzer/bazel-out/darwin_arm64-opt/testlogs/examples/BatikTranscoderFuzzer/test.outputs/'; Test unit written to /private/var/tmp/_bazel_christopher/8c60c24fbbc15a396e9df7c56a2aae10/execroot/jazzer/bazel-out/darwin_arm64-opt/testlogs/examples/BatikTranscoderFuzzer/test.outputs/slow-unit-17f8ba6eb1d560a71023696c46f7d388e9d7405e
Base64: ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODHzMQ==
sanitizers/src/main/java/com/code_intelligence/jazzer/sanitizers/SsrfInjection.kt
Outdated
Show resolved
Hide resolved
sanitizers/src/main/java/com/code_intelligence/jazzer/sanitizers/SsrfInjection.kt
Outdated
Show resolved
Hide resolved
b7ac3a1
to
3fbf5eb
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please don't hesitate to resolve as is if you deem this good enough to add..
0878ff6
to
2f1fadd
Compare
e350324
to
a9547c5
Compare
Server Side Request Forgery (SSRF) attacks occur when requests to destinations based on untrusted data are executed. This could lead to exfiltration of sensitive data or exposure of internal services. The sanitizer detects such attacks by checking if the fuzzer was able to inject a honeypot host name into the requested destination. If this is the case, it reports a high severity security issue. Checks are implemented via `java.net.Socket.connect` and `java.nio.channels.SocketChannel.connect` methods.
a9547c5
to
5bbf62a
Compare
5bbf62a
to
6efc834
Compare
@bertschneider I updated the PR, could you take a look? I am thinking that we should maybe reduce the severity to Medium. What do you think? |
I really like this approach, especially the configuration via scopes. |
@bertschneider Do you have an idea why the HTTPClient test isn't skipped in CI? Am I using the tag incorrectly? |
44df9ec
to
bbef9e9
Compare
bbef9e9
to
359a2e5
Compare
359a2e5
to
0cfc340
Compare
Server Side Request Forgery (SSRF) attacks occur when requests to destinations based on untrusted data are executed. This could lead to exfiltration of sensitive data or exposure of internal services.
The sanitizer detects such attacks by checking if the fuzzer was able to inject a honeypot host name into the requested destination. If this is the case, it reports a high severity security issue.
Checks are implemented via
java.net.Socket.connect
andjava.nio.channels.SocketChannel.connect
methods.