For lens with wide zoom range, it's not unusual that lens creep will happen sometime in its life. This phenomenon occurs as zoom ring loses friction and cannot hold the weight of the large front element. Canon EF 28-135mm f/3.5-5.6 IS USM is one of those lenses that have this problem.
Step 1: Material: elastic hair band
All you need is an elastic hair band. The type required for this fix is the flat
one as regular rubber band is too thick. The one I use is Goody black elastics
. For aesthetic, I'd suggest using black one as it blends in with the lens.
Step 2: Get the elastic on the lens
Slip the elastic on the lens. Make sure that the whole elastic rest flat around the lens between focus ring and zoom ring.
Step 3: Slip the elastic in the crack
Slip a part of the elastic in the gap of the zoom ring. I'd suggest not the whole elastic band as it will be easier in case of removal. This is why regular rubber band won't work as it will be too thick to slip into the crack. If you happened to slip the whole elastic band, you may have to use tweezers to get it out.
Step 4: Voila!
Lens no longer creep! At maximum zoom length pointing up the lens no longer collapse on its own weight. The result may vary depending on the condition of the lens.