Skip to content

Snakeyaml 1.33 to be updated to 2.0 #15088

@JonahLuckett

Description

@JonahLuckett

Description

The release of SnakeYAML 2.0 resolves CVE-2022-1471 - currently Logstash is using SnakeYAML 1.33

Currently a clean bump to 2.0 results in the following error taken from this comment:

> Task :installBundler
uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems.rb:632: warning: The Psych YAML extension failed to load.
Check your env for conflicting versions of SnakeYAML
See https://github.com/jruby/jruby/wiki/FAQs#why-does-the-psych-yaml-extension-fail-to-load-in-my-environment

> Task :installBundler FAILED

FAILURE: Build failed with an exception.

* Where:
Script '/home/andrea/workspace/logstash_andsel/rubyUtils.gradle' line: 101

* What went wrong:
Execution failed for task ':installBundler'.
> (LoadError) bad SnakeYAML version 2.0, required 1.21 or higher; check your CLASSPATH for a conflicting jar

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 39s
49 actionable tasks: 35 executed, 14 up-to-date

Concerns raised that will be covered by the fix to this work:

  • SafeConstructor ignores LoaderOptions setCodePointLimit() changelog: when we upgraded to 1.33 we set code point limit and now it ignores in 2.0. We have to make sure our sources are CVE free.
  • CustomClassLoaderConstructor takes LoaderOptions: when creating Yaml interface, we have some places utilize CustomClassLoaderConstructor and now it requires LoaderOptions.

Relevant documentation

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions