Combine butter and flour in the bowl of a food processor.
Process until the butter is incorporated and the mixture has the consistency of wet sand, 30-45 seconds.
Add salt, sour cream and cream cheese and pulse until mixture comes together in a rough dough.
Turn out the dough on a piece of plastic wrap and shape it into a disc about 3/4" thick.
Wrap the dough well with plastic wrap and chill for at least 30 minutes, or up to overnight.
While the dough is chilling, process the walnuts in the same bowl of your food processor, until coarsely ground. Set aside.
While the dough is still chilling, soak dried cranberries in orange juice for 15 minutes.
Put rehydrated cranberries and all the juice in a small saucepan over medium-high heat.
Add sugar, salt, cinnamon, vanilla, rum and half the orange zest.
Stir well to combine.
Bring mixture to a boil, lower heat and simmer for 10- 15 minutes or until mixture has a jam-like consistency.
Use an immersion blender to blend everything together and get rid of any big chunks. You can also use a regular blender if you don't have an immersion stick!
Set the jam aside and allow to cool slightly.
Preheat an oven to 350 degrees. Line two baking sheets with parchment paper or silicone baking mats.
Lightly dust a work surface with flour. Divide the chilled dough into two equal portions.
Working with one portion at a time, roll the dough out into a 12-inch circle.
Use a 12" dinner plate to lightly press on the dough to help form a perfect circle.
Trim the dough into a perfect circle with a pizza wheel or small, sharp knife.
Using the same knife or pizza wheel, cut the dough into 16 equal wedges.
Spread half the cooled cranberry jam over the surface of the dough, then sprinkle half of the ground walnuts over the jam.
Sprinkle half the remaining orange zest over the walnuts, being careful not to spread too close to the outer edges of the dough.
Working with one piece at a time, roll each wedge to form the rugelach, starting at the wide end and rolling toward the pointed end.
Transfer the rugelach to the lined baking sheets and continue shaping the remaining wedges.
Repeat rolling and shaping with the remaining dough and fillings.
Brush the tops of the rugelach with the beaten egg and sprinkle lightly with a bit of sugar.
Bake 16-20 minutes or until the cookies are a light, golden brown.
Cool on a wire rack before serving!