-
Bug
-
Resolution: Unresolved
-
Minor
-
None
-
Jenkins 2.198
Parameterized-Remote-Trigger 3.1.0
both jenkins masters running in Kubernetes
When I trigger a job from a pipeline with:
triggerRemoteJob([ auth : CredentialsAuth(credentials: 'something'), job : jobName, remoteJenkinsName : 'Prod Jenkins', useCrumbCache : true, useJobInfoCache : true, blockBuildUntilComplete: false, parameters : "VERSION=1.2.3", ])
I get a 403 when it is trying to do crsf crumb stuff. On remote jenkins log I see:
WARNING hudson.security.csrf.CrumbFilter#doFilter: Found invalid crumb 163***********************************************************3c. Will check remaining parameters for a valid one... WARNING hudson.security.csrf.CrumbFilter#doFilter: No valid crumb was included in request for /job/prod_folder/job/some_repo/job/default/buildWithParameters by Prod-Build-User. Returning 403.
In the build log on the non-remote Jenkins I see output that makes me think it's calling the code to get the crsf.
CSRF protection is enabled on the remote server.
Which is from this line:
https://github.com/jenkinsci/parameterized-remote-trigger-plugin/blob/Parameterized-Remote-Trigger-3.1.0/src/main/java/org/jenkinsci/plugins/ParameterizedRemoteTrigger/utils/HttpHelper.java#L253
But for some reason the one it gets and sends is not working. I've tried with the csrf caching turned on and turned off. It doesn't make any difference.
There was recently a change to how Jenkins does something with CSRF in 2.190, JENKINS-58734
Not sure if that's playing into this or not
Facing the same issue on v2.190.1 of Jenkins LTS Release and Parameterized Remote Trigger Plugin v3.1.0
https://jenkins.io/security/advisory/2019-07-17/#SECURITY-626 appears to have broken the remote trigger plugin.
We will attempt to use the strict crumb issuer plugin to disable the session id and see if that works.