T09 · Insecure Skill Coding Practices
- Location
providers.md:214- Finding
Plaintext HTTP Used for Image Optimization Request
- Content
View full analysis
Vulnerability Details
File Location:
providers.md, line 214
Vulnerability Type: Plaintext transmission to an external API
Risk Level: MediumVulnerable Code
bash curl -X POST "http://api.resmush.it/ws.php?img=https://example.com/image.jpg"Technical Analysis
The documented command sends an image URL to an external optimization service over unencrypted HTTP. Because TLS is not used, network intermediaries can observe or modify both the submitted image URL and the service response.
If a user replaces the example URL with a private, unlisted, pre-signed, or otherwise sensitive image URL, its full value—including query parameters and access tokens—may be exposed in transit. An active man-in-the-middle attacker could also modify the request, redirect its target, or forge the API response.
This finding does not enable local code execution or privilege escalation by itself. Exploitation requires a user to follow the documented example while an attacker can observe or modify the relevant network traffic.
Attack Path
- A user follows the documented command and substitutes a real image URL for the example value.
- The command sends the complete URL to
api.resmush.itover plaintext HTTP. - An attacker positioned on the local network, proxy, ISP path, or another intermediary network segment intercepts the request.
- The attacker obtains the submitted image URL and any embedded query parameters or temporary access credentials.
- If those credentials remain valid, the attacker accesses the referenced image within the authorization scope of the exposed URL.
- Alternatively, an active attacker modifies the request or returns a forged API response, compromising the integrity of the optimization workflow.
Impact Assessment
The confidentiality and integrity of data transmitted through this example may be compromised. Potentially exposed data includes private image locations, filenames, query parameters, and pre-signed URL ...[truncated 282 chars]
- Remediation
View remediation
Remediation Suggestions
-
Replace the plaintext endpoint with the provider's verified HTTPS endpoint:
bash curl -X POST "https://api.resmush.it/ws.php?img=https://example.com/image.jpg" -
Confirm that the HTTPS endpoint is officially supported and that certificate validation succeeds without disabling TLS checks.
-
If the provider does not support HTTPS, remove the example and recommend an image-optimization service that provides authenticated TLS.
-
Warn users not to submit private, pre-signed, credential-bearing, or otherwise sensitive image URLs to third-party services.
-
Prefer uploading non-sensitive content through a documented HTTPS API rather than placing access tokens or sensitive parameters inside a URL.
-
Document the external disclosure clearly: the image URL is transmitted to and processed by a third party.
-
