linode / linode/manager

Linode Object Storage allows creation of ".." prefix for folders @linode/api-v4 Presigned URL

Open
#13,328 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Object Storage
Dominant language
TypeScript
Stars
738
Forks
407
PR merge metrics
No merged PRs in 30d

Description

Hello team,

I was working in a custom CLI to work with Linode Object Storage when accidentally found out that I can create folders with .. prefix when using @linode/api-v4 Presigned URL. I have an example where I created by mistake a object key with the following name ../cardinal-stack/LICENSE and uploaded the content to the file as per printscreen:

Image

Through the console I'm unable to delete the file

Image

Steps to reproduce the issue:

1 - Generate Presigned URL for object key https://api.linode.com/v4/object-storage/buckets/{region}/{bucket}/object-url
2 - Put file content through generated Presigned URL
3 - Access the file through the console and try to delete the file

It raises security concerns are in 2 perspectives:
1 - Linode's side, not sure how is the architecture but It can allow injections of malicious file.
2 - User's side, I cannot delete the content of my own so It raises security concerns as well.

Thanks,
OP

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the reported flow: create a presigned URL for an object key beginning with ../, upload content, then try to delete it through the Object Storage console. Trace the console's object-key handling and deletion request; done means the reported object can be handled safely and deleted through the console.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
cloud, frontend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.