When you jump and collide with a cylinder, your vertical jump velocity is projected into lateral velocity each frame relative to the collision normal until contact with the surface is broken. Because the surface is curved, the collision normal changes every frame, which results in sideways motion.
This is kind of natural behavior when you jump and contact a curved surface. If you don’t want that, you can increase braking / friction values in the CharacterMovementComponen, which will cause the character to slide less during contact and then fall straight down once contact is lost.
If you want to interfere not slide in between, you don’t have to modify actually base code or custom movement you can just increase movement friction and braking settings to make character reduce bounce, still it will slide on curve till contact is lost. Think this would be something you would like to play with.
If you don’t want that at all (stop on contact) which would be an unnnatural behaviour, you can modify code not to project movement laterally.