-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Drop YAJL dependency #3308
Comments
Agree, we should change. What do you think about the "official" YAML library? |
Note, I added label [2.x] too, because mod_security2 is also affected. |
This does not sound good. Thank you for bringing this to the attention @mikelolasagasti. |
I'm the Fedora |
Hi @berrange,
You're right, that was a mistake from me - sorry, and thank you. |
Thank you for this very valuable input @berrange. That puts the replacement discussion on a far better base. |
These are the libraries that are reported (by their authors and third-parties) as the fastest:
It would be interesting to check their functionalities for our intended use:
|
There are a few subtle behavior quirks of yajl that should be examined for alternative libraries too. And then documented in case. The behavior with empty request body for example. From the back of my head I am no longer sure if yajl rejects that and other parsers are OK with it or if it's the other way around. But I've seen this problem in production before. |
This would definitely need extensive test cases |
yajl
library has been unmaintained upstream[1] since 2015. Last published release contians multiple CVEs (CVE-2023-33460, CVE-2022-24795, CVE-2017-16516) and fixes have had to be carried by downstream distributions and third parties. This is not an ideal situation. While a fork exists[2], it is unclear how widely adopted or blessed it is downstream.As the maintainer of
libmodsecurity
for Fedora[3] and EPEL, I recently found that theyajl
library will not be shipped with RHEL 10. This means a new maintainer would be required to add it to EPEL. The previous maintainer for RHEL & EPEL has recommended moving away fromyajl
[4].Currently, libmodsecurity can be built without
yajl
, but I understand that making it mandatory is considered desirable, as per #3144 and #3151.Given the security concerns and the upstream status of
yajl
, I recommend opening a discussion on droppingyajl
as a dependency and exploring alternative JSON libraries, such asJSON-C
, which is actively maintained and more widely adopted.[1] https://github.com/lloyd/yajl
[2] https://github.com/robohack/yajl/
[3] https://src.fedoraproject.org/rpms/libmodsecurity
[4] https://lists.fedoraproject.org/archives/list/[email protected]/message/YPFHPOKAND3RZR7ZKWTDHUQEESG6IUJ3/
The text was updated successfully, but these errors were encountered: