-
-
Notifications
You must be signed in to change notification settings - Fork 413
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
CVE-2023-39018: Assumed code injection vulnerability of net.bramp.ffmpeg.FFmpeg.<constructor>
#291
Comments
It is by design that a user can provide the path to the binary they wish to call for ffmpeg/avconv What would you suggest instead? As-in what is a concrete suggestion for more strict checking? |
Much thanks for your reply. Actually, we've sent a mail months ago to discuss this problem, but we got no reply. I'll close this issure right now. |
|
Hi, thanks for your opinion! @bramp @StayPirate I'm working with @LetianYuan . We have done some research on these kinds of bugs, and we believe it is a bug for the following reasons.
Because of the reasons above, I suggest that the I'd be very happy if you could share your further opinions with me. Thank you! |
Thanks for the followup @lzher
Anyways, next steps
|
Thanks for your kind reply. We agree the attack surface is limited. But in some cases developers can allow their users to control a part of the binary path. For example, if a developer allows users to choose different versions of We cannot predict how developers use your APl, so it is important to make sure the API satisfy the principle of least privilege and are well documented. Thank you again for sharing your opinion with us! |
Is there any action done to unflag this from the CVE databases? It still shows up in the vulnerabilty databases... |
I suspected this issue... |
https://www.cve.org/CVERecord?id=CVE-2023-39018 IntelliJ is also showing this. Its also shown for v 0.8.0. Ive read all comments in this issue. By @LetianYuan logic the class "ProcessBuilder" is a vulnerability. I am assumeing that LetianYuan submitted this CVE, if this is not the case then the following is not directed at you but rather whoever submitted it to mitre. Also the reason why I am assumeing this is or was bad faith is because most vuln trackers flag this as critical and easily exploitable with 0 user interaction. This is really not the case at all. Its almost as if someone malicoisly fed the CVE all the things so it would show up this way. Could you please remove this CVE before countless engineering hours are wasted explaining to non tech savy people that this CVE is completly harmless? Comparing a framework that 90% of people intended to write logs to a file where someone considered it smart to parse said log and load random classes from a url if the input matched, to this library where its sole purpose is to run a elf/pe binary with complex arguments is beyond me. It is completely obvieus to everyone immedeatly what this library does and that it at some point will run the provided binary. 99% of users of this library probably extract or download ffmpeg and write it to %TEMP% and then pass this path directly to the library. Anyone who lets the user choose this path arbitrarily does so full well knowing what he is doing. |
@AlexanderSchuetz97 Thanks for the analysis. |
net.bramp.ffmpeg.FFmpeg.<constructor>
net.bramp.ffmpeg.FFmpeg.<constructor>
net.bramp.ffmpeg.FFmpeg.<constructor>
net.bramp.ffmpeg.FFmpeg.<constructor>
For all coming here due to the CVE, this was filed in bad faith, and we're trying to work with Mitre to resolve it. Additionally, you would have to let the user override the application you referenced to inject your executable or allow the user to upload his executable into a directory with higher priority on the PATH.
You will have to execute shell commands to use this library meaningfully (and the FFmpeg class in particular). Last but not least, neither the CVE description nor the version is correct. |
Minor update: The CVE is now marked as disputed. |
Affected Version
The latest version 0.7.0 and below.
Describe the vulnerability
net.bramp.ffmpeg.FFmpeg.<constructor>
is designed to create an FFmpeg object. However, passing an unchecked argument to this API can lead to the execution of arbitrary codes. For instance, following codes can lead to the execution of malicious program:To Reproduce
Just execute above codes would reproduce it.
Fix Suggestion
Check the parameter of
FFmpeg.<constructor>
strictly.The text was updated successfully, but these errors were encountered: