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

Consider no longer using http_request plugin #3075

Open
daniel-beck opened this issue Jul 27, 2022 · 9 comments
Open

Consider no longer using http_request plugin #3075

daniel-beck opened this issue Jul 27, 2022 · 9 comments
Assignees

Comments

@daniel-beck
Copy link

Service(s)

ci.jenkins.io

Summary

ci.jenkins.io uses http_request plugin for https://github.com/jenkins-infra/pipeline-library/blob/aa9213e20d368a84369a78a00ea6599c0db6ff12/vars/infra.groovy#L345-L352 (and potentially more).

We announced an unresolved security vulnerability in this plugin today: https://www.jenkins.io/security/advisory/2022-07-27/#SECURITY-2053

While it doesn't affect us given how we're using the plugin, we should still consider implementing this differently, so the unmaintained/improperly maintained plugin is no longer needed and can be uninstalled.

Reproduction steps

No response

@daniel-beck daniel-beck added the triage Incoming issues that need review label Jul 27, 2022
@jglick
Copy link

jglick commented Jul 27, 2022

I do not think we want to do this. It fills a need that was not adequately met otherwise. jenkins-infra/pipeline-library#210 by @timja

@MarkEWaite
Copy link

MarkEWaite commented Aug 2, 2022

Release 1.16 of the http request plugin has been delivered. The changelog reports that the security issue is resolved.

Thanks to @offa for making that change!

What additional steps are required in order to show the issue as resolved in the Jenkins update center?

@MarkEWaite MarkEWaite removed the triage Incoming issues that need review label Aug 2, 2022
@daniel-beck
Copy link
Author

Nothing relevant changed since I filed this issue. We weren't affected by the vulnerability before. The problem is that the plugin is essentially unmaintained (Basil's availability is very limited per jenkins-infra/repository-permissions-updater#2019, Oleg last released a plugin more than a year ago, and Janario was unresponsive).

@basil
Copy link
Collaborator

basil commented Aug 2, 2022

I think Mark was asking about how to remove the "Passwords stored in plain text" warning from the latest version which I think just needs a PR to update-center2.

@MarkEWaite
Copy link

Submitted jenkins-infra/update-center2#628 to note in update center that the issue is resolved.

@daniel-beck
Copy link
Author

daniel-beck commented Aug 2, 2022

I think Mark was asking about how to remove the "Passwords stored in plain text" warning from the latest version which I think just needs a PR to update-center2.

Off topic, but FTR documented on https://www.jenkins.io/security/plugins/ which is linked from every unresolved advisory entry since this year.

@dduportal
Copy link
Contributor

  • PR merged on update_center
  • update center's job ran successfully and updated the index
  • Index updated on ci.jenkins.io: the error message about security issue disappeared

@daniel-beck
Copy link
Author

daniel-beck commented Aug 10, 2022

As I wrote in #3075 (comment),

Nothing relevant changed since I filed this issue. We weren't affected by the vulnerability before. The problem is that the plugin is essentially unmaintained (Basil's availability is very limited per jenkins-infra/repository-permissions-updater#2019, Oleg last released a plugin more than a year ago, and Janario was unresponsive).

If you want to reject this request because we really need the plugin (basically Jesse's comment) and consider it being unmaintained an acceptable risk, that's fine. But this request has nothing to do with the vulnerability that was announced, then fixed. That just made it clear that the plugin is unmaintained. It's not maintained any better now, there are no new maintainers.

@daniel-beck daniel-beck reopened this Aug 10, 2022
@basil
Copy link
Collaborator

basil commented Aug 10, 2022

If you want to reject this request because we need the plugin for some reason and consider it being unmaintained an acceptable risk, that's fine.

For what it is worth, I think the same is true for other plugins we rely on, such as display-url-api: JENKINS-69006 has not been fixed in over a month despite very clear next steps being identified, precluding #2833. While it is unfortunate that we have come to rely on some unmaintained or poorly-maintained plugins, I think that is simply the reality—whether we like it or not.

In some ways, a poorly maintained plugin that we still rely on is better than an unmaintained one that we still rely on, because at least someone is available to merge PRs and cut emergency releases if need be. Without that, problems can escalate quickly.

I do wish I had more time and interest to work on plugins like http_request. The truth is, I just stepped up to be an "interim maintainer" to deliver some Guava fixes and have just been keeping it on life support. I get the sense this is not an uncommon scenario in the ecosystem.

@daniel-beck daniel-beck removed their assignment Oct 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants