Headline
GHSA-3pmj-jqqp-2mj3: matrix-appservice-irc IRC command injection via admin commands containing newlines
Impact
It is possible to craft a command with newlines which would not be properly parsed. This would mean you could pass a string of commands as a channel name, which would then be run by the IRC bridge bot.
Patches
Versions 1.0.1 and above are patched.
Workarounds
There are no robust workarounds to the bug. You can disable dynamic channels in the config to disable the most common execution method but others may exist. It is highly recommended to upgrade the bridge.
Credits
Discovered and reported by Val Lorentz.
For more information
If you have any questions or comments about this advisory email us at [email protected].
Package
npm matrix-appservice-irc (npm)
Affected versions
<= 1.0.0
Patched versions
1.0.1
Description
Impact
It is possible to craft a command with newlines which would not be properly parsed. This would mean you could pass a string of commands as a channel name, which would then be run by the IRC bridge bot.
Patches
Versions 1.0.1 and above are patched.
Workarounds
There are no robust workarounds to the bug. You can disable dynamic channels in the config to disable the most common execution method but others may exist. It is highly recommended to upgrade the bridge.
Credits
Discovered and reported by Val Lorentz.
For more information
If you have any questions or comments about this advisory email us at [email protected].
References
- GHSA-3pmj-jqqp-2mj3
- matrix-org/matrix-appservice-irc@0afb064
- https://github.com/matrix-org/matrix-appservice-irc/releases/tag/1.0.1
Half-Shot published to matrix-org/matrix-appservice-irc
Aug 4, 2023
Published to the GitHub Advisory Database
Aug 4, 2023
Reviewed
Aug 4, 2023
Last updated
Aug 4, 2023
Related news
matrix-appservice-irc is a Node.js IRC bridge for Matrix. Prior to version 1.0.1, it is possible to craft a command with newlines which would not be properly parsed. This would mean you could pass a string of commands as a channel name, which would then be run by the IRC bridge bot. Versions 1.0.1 and above are patched. There are no robust workarounds to the bug. One may disable dynamic channels in the config to disable the most common execution method but others may exist.