You can use Quaternions and axis angle
You can use Matrix AxisAngle and your world Matrix's Up and Right normal vector to create a rotation matrix that you can multiply against your current World Orientation matrix to stear it left or right from the current forward look at vector.
That is for free turning look at camera.
You can alternately instead use system vectors to perform system coordinate turns.
Just using create rotation and multiplying it by your world matrix.
In that case you might as well just use Quaternions for the rotations Quaternions can make things simpler or harder depending on the use case.
In the case you want to use matrices and make a fully free camera.
Think of it with your fore finger index and thumb orient each finger 90 degrees to the other point them in front of you this is the system orientation it is unchanging your thumb is up your index is left or right ect.
Then move your wrist this is your world orientation it has up your thumb and left althogh these are no longer equal to the system vectors you never the less have them in your world matrix as vectors and can use them for axis angle rotations to create a up or down axis angle rotation to reapply to that same world orientation matrix.
To say imagine with your fingers at 90 degrees and your wrist in some arbitrary pointed direction take your other hand grab your thumb and twist your hand that is a AxisAngle Rotation about the up thumb vector of your abritrarily pointing local matrix the amount of radians you rotate the Axis angle can be positive or negative which equates no matter were your camera is oriented in your world to either turning were you are looking at right a positive amount of radians or turning the direction you are looking at to the left a negative amount of radians.
Conversely your index finger represents looking up or down and a axis angle rotation on your forefinger is a roll clockwise or counterclockwise multiply any of these resulting matrix rotations to the original rotation matrix performs a directional change.
Alternerately you can also perform a axis angle rotation and then use that in concert with create world to form a new matrix.
If you scroll down a bit you will see a ton of operations all the possible system and local rotational operations are listed for matrices.