Jenkins vulnerable to UDP amplification reflection attack
Moderate severity
GitHub Reviewed
Published
May 24, 2022
to the GitHub Advisory Database
•
Updated Dec 22, 2023
Package
Affected versions
< 2.204.2
>= 2.205, < 2.219
Patched versions
2.204.2
2.219
Description
Published by the National Vulnerability Database
Jan 29, 2020
Published to the GitHub Advisory Database
May 24, 2022
Reviewed
Dec 16, 2022
Last updated
Dec 22, 2023
Jenkins 2.218 and earlier, LTS 2.204.1 and earlier supports two network discovery services (UDP multicast/broadcast and DNS multicast) by default.
The UDP multicast/broadcast service can be used in an amplification reflection attack, as very few bytes sent to the respective endpoint result in much larger responses: A single byte request to this service would respond with more than 100 bytes of Jenkins metadata which could be used in a DDoS attack on a Jenkins controller. Within the same network, spoofed UDP packets could also be sent to make two Jenkins controllers go into an infinite loop of replies to one another, thus causing a denial of service.
Jenkins 2.219, LTS 2.204.2 now disables both UDP multicast/broadcast and DNS multicast by default.
Administrators that need these features can re-enable them again by setting the system property
hudson.DNSMultiCast.disabled
tofalse
(for DNS multicast) or the system propertyhudson.udp
to33848
, or another port (for UDP broadcast/multicast). These are the same system properties that controlled whether these features were enabled in the past, so any instances explicitly enabling these features by setting these system properties will continue to have them enabled.References