Title: Malicious File Upload Vulnerability · Issue #269 · BlogEngine/BlogEngine.NET · GitHub
Open Graph Title: Malicious File Upload Vulnerability · Issue #269 · BlogEngine/BlogEngine.NET
X Title: Malicious File Upload Vulnerability · Issue #269 · BlogEngine/BlogEngine.NET
Description: UploadController.cs file does not have any security control if the Editor chose to upload a video. Between Line 101 and 110 on UploadController.cs, it gets a file submitted via HTTP request (Line 20), sets a hard-coded destination for th...
Open Graph Description: UploadController.cs file does not have any security control if the Editor chose to upload a video. Between Line 101 and 110 on UploadController.cs, it gets a file submitted via HTTP request (Line 2...
X Description: UploadController.cs file does not have any security control if the Editor chose to upload a video. Between Line 101 and 110 on UploadController.cs, it gets a file submitted via HTTP request (Line 2...
Opengraph URL: https://github.com/BlogEngine/BlogEngine.NET/issues/269
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Malicious File Upload Vulnerability","articleBody":"UploadController.cs file does not have any security control if the Editor chose to upload a video. \r\n\r\nBetween Line 101 and 110 on UploadController.cs, it gets a file submitted via HTTP request (Line 20), sets a hard-coded destination for the upload (Custom/Media), and calls the UploadVideo function which is in the same file.\r\n\r\nThe UploadVideo function does only check if the target directory exists or not, but it does not check the file.\r\n\r\nTherefore, it is possible to upload a malicious file that can run commands on the app server. \r\n\r\nTo mitigate, file type should be checked using a white-list approach, if the type of the fille is not known by the application, the upload function should return an error.","author":{"url":"https://github.com/hacip","@type":"Person","name":"hacip"},"datePublished":"2023-06-20T18:12:00.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":2},"url":"https://github.com/269/BlogEngine.NET/issues/269"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:70a4871c-eea5-4ff2-eea8-1819885bff6b |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | EA1C:1D0125:18D2E61:21AA71C:696571C8 |
| html-safe-nonce | a33eeb4a0b960c9085b5740362b0ad238f7180e2caba0d3193be01a966253ed8 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFQTFDOjFEMDEyNToxOEQyRTYxOjIxQUE3MUM6Njk2NTcxQzgiLCJ2aXNpdG9yX2lkIjoiMjMyODM5NzI5MzAwMjUxODk4NCIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | b873f8384f7712ae63e13f02c0e6778264da4737dc72e9117ccf7bde942d1ec8 |
| hovercard-subject-tag | issue:1765904506 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/BlogEngine/BlogEngine.NET/269/issue_layout |
| twitter:image | https://opengraph.githubassets.com/ce60e9776d0934ffc7a59580521e833b264217e7a7d838f1e0947f234d733f34/BlogEngine/BlogEngine.NET/issues/269 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/ce60e9776d0934ffc7a59580521e833b264217e7a7d838f1e0947f234d733f34/BlogEngine/BlogEngine.NET/issues/269 |
| og:image:alt | UploadController.cs file does not have any security control if the Editor chose to upload a video. Between Line 101 and 110 on UploadController.cs, it gets a file submitted via HTTP request (Line 2... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | hacip |
| hostname | github.com |
| expected-hostname | github.com |
| None | 70702940ad65d37a6372f5f01ff51d5287dba6cd47f376de94068b7581ba1d74 |
| turbo-cache-control | no-preview |
| go-import | github.com/BlogEngine/BlogEngine.NET git https://github.com/BlogEngine/BlogEngine.NET.git |
| octolytics-dimension-user_id | 16548097 |
| octolytics-dimension-user_login | BlogEngine |
| octolytics-dimension-repository_id | 35853835 |
| octolytics-dimension-repository_nwo | BlogEngine/BlogEngine.NET |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 35853835 |
| octolytics-dimension-repository_network_root_nwo | BlogEngine/BlogEngine.NET |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | a2acc6e368accd1834ccf1bd3d45d20d55a014a0 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width