text:
perlsec - Perl security
Perl is designed to make it easy to program securely even when running with extra privileges, like setuid or setgid programs. Unlike most command line shells, which are based on multiple substitution passes on each line of the script, Perl uses a more conventional evaluation scheme with fewer hidden snags. Additionally, because the language has more builtin functionality, it can rely less upon external (and possibly untrustworthy) programs to accomplish its purposes.
Perl automatically enables a set of special security checks, called taint mode, when it detects its program running with differing real and effective user or group IDs. The setuid bit in Unix permissions is mode 04000, the setgid bit mode 02000; either or both may be set. You can also enable taint mode explicitly by using the -T command line flag. This flag is strongly suggested for server programs and any program run on behalf of someone else, such as a CGI script. Once taint mode is on, it's on for the remainder of your script.
While in this mode, Perl takes special precautions called taint checks to prevent both obvious and subtle traps. Some of these checks are reasonably simple, such as verifying that path directories aren't writable by others; careful programmers have always used checks like these. Other checks, however, are best supported by the language itself, and it is these checks especially that contribute to making a set-id Perl program more secure than the corresponding C program.
You may not use data derived from outside your program to affect
something else outside your program--at least, not by accident. All
command line arguments, environment variables, locale information (see
perllocale), results of certain system calls (readdir()
, the variable of shmread()
, the messages returned by
, the password, gcos and shell fields returned by the
calls), and all file input are marked as "tainted".
Tainted data may not be used directly or indirectly in any command
that invokes a sub-shell, nor in any command that modifies files,
directories, or processes, with the following exceptions:
Arguments to
are not checked for taintedness. -
Symbolic methods
and symbolic sub references
&{$foo}(@args); $foo->(@args);
are not checked for taintedness. This requires extra carefulness unless you want external data to affect your control flow. Unless you carefully limit what these symbolic values are, people are able to call functions outside your Perl code, such as POSIX::system, in which case they are able to run arbitrary external code.
Hash keys are never tainted.
For efficiency reasons, Perl takes a conservative view of whether data is tainted. If an expression contains tainted data, any subexpression may be considered tainted, even if the value of the subexpression is not itself affected by the tainted data.
Because taintedness is associated with each scalar value, some elements of an array or hash can be tainted and others not. The keys of a hash are never tainted.
For example:
$arg = shift; # $arg is tainted $hid = $arg, 'bar'; # $hid is also tainted $line = <>; # Tainted $line = <STDIN>; # Also tainted open FOO, "/home/me/bar" or die $!; $line = <FOO>; # Still tainted $path = $ENV{'PATH'}; # Tainted, but see below $data = 'abc'; # Not tainted
system "echo $arg"; # Insecure system "/bin/echo", $arg; # Considered insecure # (Perl doesn't know about /bin/echo) system "echo $hid"; # Insecure system "echo $data"; # Insecure until PATH set
$path = $ENV{'PATH'}; # $path now tainted
$ENV{'PATH'} = '/bin:/usr/bin'; delete @ENV{'IFS', 'CDPATH', 'ENV', 'BASH_ENV'};
$path = $ENV{'PATH'}; # $path now NOT tainted system "echo $data"; # Is secure now!
open(FOO, "< $arg"); # OK - read-only file open(FOO, "> $arg"); # Not OK - trying to write
open(FOO,"echo $arg|"); # Not OK open(FOO,"-|") or exec 'echo', $arg; # Also not OK
$shout = `echo $arg`; # Insecure, $shout now tainted
unlink $data, $arg; # Insecure umask $arg; # Insecure
exec "echo $arg"; # Insecure exec "echo", $arg; # Insecure exec "sh", '-c', $arg; # Very insecure!
@files = <*.c>; # insecure (uses readdir() or similar) @files = glob('*.c'); # insecure (uses readdir() or similar)
# In Perl releases older than 5.6.0 the <*.c> and glob('*.c') would # have used an external program to do the filename expansion; but in # either case the result is tainted since the list of filenames comes # from outside of the program.
$bad = ($arg, 23); # $bad will be tainted $arg, `true`; # Insecure (although it isn't really)
If you try to do something insecure, you will get a fatal error saying something like "Insecure dependency" or "Insecure $ENV{PATH}".
The exception to the principle of "one tainted value taints the whole
expression" is with the ternary conditional operator ?:
. Since code
with a ternary conditional
$result = $tainted_value ? "Untainted" : "Also untainted";
is effectively
if ( $tainted_value ) { $result = "Untainted"; } else { $result = "Also untainted"; }
it doesn't make sense for $result
to be tainted.
Laundering and Detecting Tainted Data
To test whether a variable contains tainted data, and whose use would
thus trigger an "Insecure dependency" message, you can use the
function of the Scalar::Util module, available in your
nearby CPAN mirror, and included in Perl starting from the release 5.8.0.
Or you may be able to use the following is_tainted()
sub is_tainted { return ! eval { eval("#" . substr(join("", @_), 0, 0)); 1 }; }
This function makes use of the fact that the presence of tainted data anywhere within an expression renders the entire expression tainted. It would be inefficient for every operator to test every argument for taintedness. Instead, the slightly more efficient and conservative approach is used that if any tainted value has been accessed within the same expression, the whole expression is considered tainted.
But testing for taintedness gets you only so far. Sometimes you have just to clear your data's taintedness. Values may be untainted by using them as keys in a hash; otherwise the only way to bypass the tainting mechanism is by referencing subpatterns from a regular expression match. Perl presumes that if you reference a substring using $1, $2, etc., that you knew what you were doing when you wrote the pattern. That means using a bit of thought--don't just blindly untaint anything, or you defeat the entire mechanism. It's better to verify that the variable has only good characters (for certain values of "good") rather than checking whether it has any bad characters. That's because it's far too easy to miss bad characters that you never thought of.
Here's a test to make sure that the data contains nothing but "word" characters (alphabetics, numerics, and underscores), a hyphen, an at sign, or a dot.
if ($data =~ /^([-\@\w.]+)$/) { $data = $1; # $data now untainted } else { die "Bad data in '$data'"; # log this somewhere }
This is fairly secure because /\w+/
doesn't normally match shell
metacharacters, nor are dot, dash, or at going to mean something special
to the shell. Use of /.+/
would have been insecure in theory because
it lets everything through, but Perl doesn't check for that. The lesson
is that when untainting, you must be exceedingly careful with your patterns.
Laundering data using regular expression is the only mechanism for
untainting dirty data, unless you use the strategy detailed below to fork
a child of lesser privilege.
The example does not untaint $data
if use locale
is in effect,
because the characters matched by \w
are determined by the locale.
Perl considers that locale definitions are untrustworthy because they
contain data from outside the program. If you are writing a
locale-aware program, and want to launder data with a regular expression
containing \w
, put no locale
ahead of the expression in the same
block. See "SECURITY" in perllocale for further discussion and examples.
Switches On the "#!" Line
When you make a script executable, in order to make it usable as a
command, the system will pass switches to perl from the script's #!
line. Perl checks that any command line switches given to a setuid
(or setgid) script actually match the ones set on the #! line. Some
Unix and Unix-like environments impose a one-switch limit on the #!
line, so you may need to use something like -wU
instead of -w -U
under such systems. (This issue should arise only in Unix or
Unix-like environments that support #! and setuid or setgid scripts.)
Taint mode and @INC
When the taint mode (-T
) is in effect, the "." directory is removed
from @INC
, and the environment variables PERL5LIB
and PERLLIB
are ignored by Perl. You can still adjust @INC
from outside the
program by using the -I
command line option as explained in
perlrun. The two environment variables are ignored because
they are obscured, and a user running a program could be unaware that
they are set, whereas the -I
option is clearly visible and
therefore permitted.
Another way to modify @INC
without modifying the program, is to use
the lib
pragma, e.g.:
perl -Mlib=/foo program
The benefit of using -Mlib=/foo
over -I/foo
, is that the former
will automagically remove any duplicated directories, while the later
will not.
Note that if a tainted string is added to @INC
, the following
problem will be reported:
Insecure dependency in require while running with -T switch
Cleaning Up Your Path
For "Insecure $ENV{PATH}
" messages, you need to set $ENV{'PATH'}
a known value, and each directory in the path must be absolute and
non-writable by others than its owner and group. You may be surprised to
get this message even if the pathname to your executable is fully
qualified. This is not generated because you didn't supply a full path
to the program; instead, it's generated because you never set your PATH
environment variable, or you didn't set it to something that was safe.
Because Perl can't guarantee that the executable in question isn't itself
going to turn around and execute some other program that is dependent on
your PATH, it makes sure you set the PATH.
The PATH isn't the only environment variable which can cause problems. Because some shells may use the variables IFS, CDPATH, ENV, and BASH_ENV, Perl checks that those are either empty or untainted when starting subprocesses. You may wish to add something like this to your setid and taint-checking scripts.
delete @ENV{qw(IFS CDPATH ENV BASH_ENV)}; # Make %ENV safer
It's also possible to get into trouble with other operations that don't care whether they use tainted values. Make judicious use of the file tests in dealing with any user-supplied filenames. When possible, do opens and such after properly dropping any special user (or group!) privileges. Perl doesn't prevent you from opening tainted filenames for reading, so be careful what you print out. The tainting mechanism is intended to prevent stupid mistakes, not to remove the need for thought.
Perl does not call the shell to expand wild cards when you pass system
and exec
explicit parameter lists instead of strings with possible shell
wildcards in them. Unfortunately, the open
, glob
, and
backtick functions provide no such alternate calling convention, so more
subterfuge will be required.
Perl provides a reasonably safe way to open a file or pipe from a setuid
or setgid program: just create a child process with reduced privilege who
does the dirty work for you. First, fork a child using the special
syntax that connects the parent and child by a pipe. Now the
child resets its ID set and any other per-process attributes, like
environment variables, umasks, current working directories, back to the
originals or known safe values. Then the child process, which no longer
has any special permissions, does the open
or other system call.
Finally, the child passes the data it managed to access back to the
parent. Because the file or pipe was opened in the child while running
under less privilege than the parent, it's not apt to be tricked into
doing something it shouldn't.
Here's a way to do backticks reasonably safely. Notice how the exec
not called with a string that the shell could expand. This is by far the
best way to call something that might be subjected to shell escapes: just
never call the shell at all.
use English '-no_match_vars'; die "Can't fork: $!" unless defined($pid = open(KID, "-|")); if ($pid) { # parent while (<KID>) { # do something } close KID; } else { my @temp = ($EUID, $EGID); my $orig_uid = $UID; my $orig_gid = $GID; $EUID = $UID; $EGID = $GID; # Drop privileges $UID = $orig_uid; $GID = $orig_gid; # Make sure privs are really gone ($EUID, $EGID) = @temp; die "Can't drop privileges" unless $UID == $EUID && $GID eq $EGID; $ENV{PATH} = "/bin:/usr/bin"; # Minimal PATH. # Consider sanitizing the environment even more. exec 'myprog', 'arg1', 'arg2' or die "can't exec myprog: $!"; }
A similar strategy would work for wildcard expansion via glob
, although
you can use readdir
Taint checking is most useful when although you trust yourself not to have written a program to give away the farm, you don't necessarily trust those who end up using it not to try to trick it into doing something bad. This is the kind of security checking that's useful for set-id programs and programs launched on someone else's behalf, like CGI programs.
This is quite different, however, from not even trusting the writer of the code not to try to do something evil. That's the kind of trust needed when someone hands you a program you've never seen before and says, "Here, run this." For that kind of safety, check out the Safe module, included standard in the Perl distribution. This module allows the programmer to set up special compartments in which all system operations are trapped and namespace access is carefully controlled.
Security Bugs
Beyond the obvious problems that stem from giving special privileges to systems as flexible as scripts, on many versions of Unix, set-id scripts are inherently insecure right from the start. The problem is a race condition in the kernel. Between the time the kernel opens the file to see which interpreter to run and when the (now-set-id) interpreter turns around and reopens the file to interpret it, the file in question may have changed, especially if you have symbolic links on your system.
Fortunately, sometimes this kernel "feature" can be disabled. Unfortunately, there are two ways to disable it. The system can simply outlaw scripts with any set-id bit set, which doesn't help much. Alternately, it can simply ignore the set-id bits on scripts. If the latter is true, Perl can emulate the setuid and setgid mechanism when it notices the otherwise useless setuid/gid bits on Perl scripts. It does this via a special executable called suidperl that is automatically invoked for you if it's needed.
However, if the kernel set-id script feature isn't disabled, Perl will complain loudly that your set-id script is insecure. You'll need to either disable the kernel set-id script feature, or put a C wrapper around the script. A C wrapper is just a compiled program that does nothing except call your Perl program. Compiled programs are not subject to the kernel bug that plagues set-id scripts. Here's a simple wrapper, written in C:
#define REAL_PATH "/path/to/script" main(ac, av) char **av; { execv(REAL_PATH, av); }
Compile this wrapper into a binary executable and then make it rather than your script setuid or setgid.
In recent years, vendors have begun to supply systems free of this
inherent security bug. On such systems, when the kernel passes the name
of the set-id script to open to the interpreter, rather than using a
pathname subject to meddling, it instead passes /dev/fd/3. This is a
special file already opened on the script, so that there can be no race
condition for evil scripts to exploit. On these systems, Perl should be
compiled with -DSETUID_SCRIPTS_ARE_SECURE_NOW
. The Configure
program that builds Perl tries to figure this out for itself, so you
should never have to specify this yourself. Most modern releases of
SysVr4 and BSD 4.4 use this approach to avoid the kernel race condition.
Prior to release 5.6.1 of Perl, bugs in the code of suidperl could introduce a security hole.
Protecting Your Programs
There are a number of ways to hide the source to your Perl programs, with varying levels of "security".
First of all, however, you can't take away read permission, because the source code has to be readable in order to be compiled and interpreted. (That doesn't mean that a CGI script's source is readable by people on the web, though.) So you have to leave the permissions at the socially friendly 0755 level. This lets people on your local system only see your source.
Some people mistakenly regard this as a security problem. If your program does insecure things, and relies on people not knowing how to exploit those insecurities, it is not secure. It is often possible for someone to determine the insecure things and exploit them without viewing the source. Security through obscurity, the name for hiding your bugs instead of fixing them, is little security indeed.
You can try using encryption via source filters (Filter::* from CPAN, or Filter::Util::Call and Filter::Simple since Perl 5.8). But crackers might be able to decrypt it. You can try using the byte code compiler and interpreter described below, but crackers might be able to de-compile it. You can try using the native-code compiler described below, but crackers might be able to disassemble it. These pose varying degrees of difficulty to people wanting to get at your code, but none can definitively conceal it (this is true of every language, not just Perl).
If you're concerned about people profiting from your code, then the bottom line is that nothing but a restrictive licence will give you legal security. License your software and pepper it with threatening statements like "This is unpublished proprietary software of XYZ Corp. Your access to it does not give you permission to use it blah blah blah." You should see a lawyer to be sure your licence's wording will stand up in court.
Unicode is a new and complex technology and one may easily overlook certain security pitfalls. See perluniintro for an overview and perlunicode for details, and "Security Implications of Unicode" in perlunicode for security implications in particular.
Algorithmic Complexity Attacks
Certain internal algorithms used in the implementation of Perl can be attacked by choosing the input carefully to consume large amounts of either time or space or both. This can lead into the so-called Denial of Service (DoS) attacks.
Hash Function - the algorithm used to "order" hash elements has been changed several times during the development of Perl, mainly to be reasonably fast. In Perl 5.8.1 also the security aspect was taken into account.
In Perls before 5.8.1 one could rather easily generate data that as hash keys would cause Perl to consume large amounts of time because internal structure of hashes would badly degenerate. In Perl 5.8.1 the hash function is randomly perturbed by a pseudorandom seed which makes generating such naughty hash keys harder. See "PERL_HASH_SEED" in perlrun for more information.
The random perturbation is done by default but if one wants for some reason emulate the old behaviour one can set the environment variable PERL_HASH_SEED to zero (or any other integer). One possible reason for wanting to emulate the old behaviour is that in the new behaviour consecutive runs of Perl will order hash keys differently, which may confuse some applications (like Data::Dumper: the outputs of two different runs are no more identical).
Perl has never guaranteed any ordering of the hash keys, and the ordering has already changed several times during the lifetime of Perl 5. Also, the ordering of hash keys has always been, and continues to be, affected by the insertion order.
Also note that while the order of the hash elements might be randomised, this "pseudoordering" should not be used for applications like shuffling a list randomly (use List::Util::shuffle() for that, see List::Util, a standard core module since Perl 5.8.0; or the CPAN module Algorithm::Numerical::Shuffle), or for generating permutations (use e.g. the CPAN modules Algorithm::Permute or Algorithm::FastPermute), or for any cryptographic applications.
Regular expressions - Perl's regular expression engine is so called NFA (Non-deterministic Finite Automaton), which among other things means that it can rather easily consume large amounts of both time and space if the regular expression may match in several ways. Careful crafting of the regular expressions can help but quite often there really isn't much one can do (the book "Mastering Regular Expressions" is required reading, see perlfaq2). Running out of space manifests itself by Perl running out of memory.
Sorting - the quicksort algorithm used in Perls before 5.8.0 to implement the sort() function is very easy to trick into misbehaving so that it consumes a lot of time. Nothing more is required than resorting a list already sorted. Starting from Perl 5.8.0 a different sorting algorithm, mergesort, is used. Mergesort is insensitive to its input data, so it cannot be similarly fooled.
See http://www.cs.rice.edu/~scrosby/hash/ for more information, and any computer science textbook on the algorithmic complexity.
perlrun for its description of cleaning up environment variables.


text:
Statement of Heng Peov
Until 27 July 2006, I was the Major General of Ministry of Interior's Under Secretary of State, and Personal Advisor to Prime Minister Hun Sen. At the same time I retained the position of the Police Commissioner of Phnom Penh until January 2006, a position that he had held since 2001.
On 27 July 2006 whilst I was overseas, my Prime Minister appealed to King Sihamoni to remove me from my position and the King signed the agreement.
I am now in hiding in a neighbouring country and cannot go back to my beloved country Cambodia. My Government has been mounting a propaganda campaign against me since I left Cambodia on 23 July 2006. I have been portrayed by the Cambodian media as a villain and a criminal. My family in Cambodia including my wife who is recovering from cancer and my two year old American born son Pov Justin have been placed under house arrest. They have searched my two houses and confiscated my assets. Most of my staff members have been arrested on trumped up charges. An International Warrant has also been issued for my arrest.
I think it is time to tell the world my story and hopefully by so doing I can clear my already muddied name. I am nothing like what I have been accused of and I have never committed the crimes that they have alleged. I wish to declare to the whole world my innocence. This document is my only means to get my message crossed.
I believe that it was my consistent efforts to eradicate the rampant corruption in Cambodia, my support for the transformation of Cambodia into a democratic society and my position against systemic human rights violations in the country which has resulted in the precarious circumstances I have found myself in. I do not regret what I have done. If I have to die for my beliefs and my country I stand ready and willing to do so.
I was born in Kandal Province on 1 December 1957 and both of my parents were rice farmers. My parents passed away when I was the age of 11.
In 1992, when I was on duty as a police officer in the Anti-Crime Squad in Phnom Penh, I suffered a gunshot injury to my left leg which resulted in my leg being amputated. I lost my left leg for my country.
In 1995, there were wide- spread demonstrations in Cambodia led by Sene Sane for democracy. The Prime Minister Hun Sen ordered to that these demonstrations be quashed. He called for a meeting with Hoc Lundy, General Director of the Police Force. I was invited by Hoc Lundy to the meeting as his friend. (I recall Amson An, Secretary of State of Ministry of Interiors was also at the meeting. The meeting was held at the Prime Minister's residence at Tourle Krarsing, Kandal Province.) At that time, I was the chief of Bureau of Anti Narcotic in Phnom Penh. At the meeting, I heard them saying to do whatever possible to bring to an end the nationwide unrests. I did not know that he would use the grenades at the demonstrators.
The grenades killed over 10 people at the Pagoda. Sene Sane's son was injured by the grenades including 10 other people. I did not know that they would be using the hand grenades against the innocent demonstrators. I was not a party to it. When the grenades exploded, I was at the office of Net Sa Veun talking to him about how Hun Sen had met Hoc Lundy. After that the police were alerted to the explosions and that is when I knew that something bad happened. I only found out that after the grenades exploded. The police were called upon to investigate who was responsible for the bombing, but they did the investigation superficially and were trying to cover the track than to find the person responsible.
During my time at the Anti-Narcotic Bureau, I discovered evidence showing Hun Sen's people being involved in drug trafficking. I went to see Hun Sen with a view to bringing it to his attention. He took me to the cellar of his house which was nicely decorated. Hun Sen asked me whether I knew the names of the people who were into the drugs. I replied that I knew and I told him one name Mon Routy whom I was sure was involved. I suspected other men of Hun Sen were also involved, but I was not 100% sure. Hun Sen did not make any comments. Then Hoc Lundy then arrived with Huy Piseth, Chief of the Hun Sen's bodyguards and distracted my discussion with him. We then talked about the opposition party's protest. Hoc Lundy said to Hun Sen, ' why don't you use hand grenades.' Hun Sen said that it was a good idea... "I can send Seth to do it and he is a good operator." He authorized Hoc Lundy to pay for Huy PiSeth to do the job. Hoc Lundy answered that he would put together the money to pay them. He suggested that I met with Seth. After that, Hoc Lundy ordered me to find the money (US$ 100000) to give to Huy Piseth. The money came from the police.
On 30/3/97, the opposition leader Sam Rainsy led a demonstration calling for the reform of the justice system in Cambodia. The demonstration was held in front of the Assembly of the Nation. I was near the Pro Tom Pagoda and witnessed what happened. My staff took me on his motorbike to see the big protest outside the Assembly. 2-4 minutes after we arrived, I heard a big explosion and people crying and screaming. Then I saw four men running away from the scene. I recognized only two of them that were: Mr Phan Sary Colonel and Mr Ourn Cham Nane Commander; both of them were Hun Sen's men. I did not know the other two. They ran towards the Prime Minister' house. I followed them there to see what they ran away like that for. I talked to General Huy Pheseth and told him that I saw four of his people running away from the scene and that they should not have thrown the grenades. He told me to keep quiet and don't talk to any body. But I was angry and upset. I need to speak to somebody about it. I went to see Hoc Lundy who I considered at the time as my friend. I felt that I had to report to Hoc and could not understand why Hun Sen chose to kill so many people. But he told me the same thing to keep quiet and not to tell anybody about it. Amongst the people who were killed or injured was an American. I understand the American Government sent people to Cambodia to investigate.
In 2003 Phan Sary came to see me in my office. He admitted to me that he was the person who threw the grenades. He said that he was very sad because he killed so many people. He complained that Hun Sen used to pay him money to have things done. When he was in trouble nobody seemed to care about him He said that he did what he did because Hun Sen ordered him and he had to please him. He acknowledged that he killed a lot of people before. He said that he now did not even have money to support his children. I recorded the conversation.
Seizure of 7 tons of cannabis
In 1997, I was the director of anti-narcotic bureau. I seized seven tons of marihuana belonging to Mon Rati's company. Mon Rati was a close friend of Hun Sen. The marihuana was hidden away in two containers and were ready to be shipped to Norway. The seizure occurred at a border port of Siha Nauk Vill, after the seizure, Mr. Ho Sok, the undersecretary of the Ministry of Interior from the Funcinpec Party asked me to arrest Mon Rati. I could not do it as Mon Rati was associated with Hun Sen and he intervened. Hun Sen announced in the media that if Mon Rati was arrested, he would make sure that Mon Rati would not be touched. I therefore could not do anything about it. After that, the Canadian Embassy invited me to go to Canada to brief the Canadian government on the seizure. The Hun Sen was very angry with Ho Sok. Before I was scheduled to leave for Canada, Hun Sen called me to his residence and asked me to consider not to go to Canada. He asked me to tell the Canadian that I was busy and could not accept the invitation. The story of the seizure became bigger than what it was supposed to be because it involved Hun Sen's people. Hun Sen openly vowed to protect Mon Rati. Hun Sen said that if I were to tell the Canadian about the drug seizure, the international community would exert pressure on the Cambodian Government. He suggested that I stay calm and keep quiet. If I did what he told me to do, I would be given a new car by Mon Rati. Mon Rati then paid me a visit shortly after my meeting with the Prime Minister. Hun Sen also asked me to give a press conference denying the seizure ever occurred and to cover it up.
I was afraid of Hun Sen and he was too powerful. I had no option but to obey. I accepted the car from Mon Rati. It was a 1997 Landcruiser Toyota. My office was given a second hand Hilux for use. it has a logo of Mon Rati's on it. Hun Sen subsequently ordered me to go and arrest another person Chai Sok Kom instead as a scapegoat. Chai worked in the military police belonging to Funcinpec Party
Assassination of Ho Sok
Shortly after the above incident, there was a coup d'etat in July 1997 led by Hun Sen to outlaw the Funcinpec Party. Mr. Ho Sok went to the Singapore Embassy in Phnom Penh for asylum because Hun Sen and Hoc Lundy were trying to arrest him as he was from the Funcipec Party. The asylum was refused and Ho Sok was turned away. Hoc Lundy then apprehended him and ordered his bodyguards to take him to General Ma Seun's office of the PPC. Hoc Lundy then gave me direct order to take Ho Sok to my office. When I arrived there, there were 6 armed men sent by Hoc Lundy waiting for me. I knew the two of them and they were Keov Vichet and Bon Na . They shot Ho Sok outside Ma Seun's office. I questioned them as to the killing. Bon Na replied that Hoc Lundy sent them to kill Ho Sok then and there. Hoc Lundy did not like Ho Sok. I was shocked and rang Hoc Lundy who said that if Ho Sok was alive he would create a lot of trouble for us. He asked me to give Bon Na a car from the police vehicle pool as his reward. I did what I was told and gave Bon Na a Camry 97.
There were five people who witnessed the killing, Ma Seun, Thorn Im and three other people including Thorn Lim (General) and Ine Bora (Colonel), Mow So Vanna (Colonel) and the other anti-crime squad,
The Death of Movie Star Piseth Pilika
In 1999, I was heading the Anti- Crime Bureau as deputy director and was in charge of the investigation of the death of the movie star. I found that before she died, she had an affair with Hoc Lundy. Her husband went overseas frequently, leaving her alone in Cambodia. Hoc Lundy often contacted her and took her to parties and buying her presents etc. In due course, a relationship was developed and she bore a son for Hoc Lundy. Then Hoc Lundy introduced her to Hun Sen. Hun Sen met her. Prior to her meeting Hun Sen, she was not that well off. But afterwards, she made a lot of money. Her bank account in Canada Bank showed a balance of US$30,000 at the time of her death. She was also given a brand new Honda CRV and a villa. She was worried about her safety everyday as Hun Sen's wife found out their secret affairs. Hun Sen's wife blamed Hoc Lundy as he was the matchmaker. Hoc Lundy made peace with her and promised that he would try to separate the movie star from Hun Sen. Soon the movie star was killed. I found out that the killer was one of Hoc Lundy's body guards. I went to question Bon Na and he admitted that he was involved together with Keov Vichet in the killing under the order of Hoc Lundy.
Because the crime involved Hoc Lundy, I could do nothing about it. I made no arrest. I was very upset and there an innocent life killed and I being a police officer could do nothing.
Helping the Opposition Party
In 2000, I got in touch with the opposition parties. I did this because I believed that the Hun Sen government was corrupted and that if there was any hope for Cambodia, it would be through the opposition parties. He had too much blood on his hands having killed too many people. I would like to see a change in the Cambodian Government to bring democracy and Justice to Cambodia. When I heard Hoc Lundy and Hun Sen were conspiring to kill them. I went to alert the opposition leaders in secret by contacting people closer to them and to warn them.
I suggested to them joining forces to get a better chance to be elected in the next election in 2008. I also gave some evidence showing how corrupted Hun Sen was to the opposition leaders so that they may expose it to the public. In late June/July 2006, Hun Sen found out that I was speaking to the opposition giving them suggestions etc. He was not happy with me. He accused me of being not loyal to the PPC.
On 23 July, I left Cambodia to Malaysia to have my leg checked and then to Singapore to see my sons and get a prescription glass done by a friend. Before I left, I asked for permission to go overseas and they granted the permission. On 28 July, I heard from Cambodia and friends that I could not go back anymore because Hun Sen was angry with me accusing me of being a traitor to the PPC. They were trumping up charges against me.
I know his real reasons for my arrest. I know too much about him and about his illegal activities. He saw me as a threat to him and wanted to get rid of me.
Speaking out
With all that I found out about Hun Sen and Hoc Lundy, I was in despair. I was like a lost ship in a vast ocean. I have my principles and ideals but in a corrupted world, I was going nowhere. To survive, I have to keep my eyes closed to many evils that I have witnessed. It was killing me inside. On three separate occasions between 1999, 2000 and 2001, I decided to talk to the Human Rights Watch in Cambodia . I spoke to Ms. Pon Chigate(PHON), Director of the LICADO in Cambodia, Eva of Global Witness in Phnom Penh, Henrick, former UNHCR representative in Phnom Penh, Christopher Peschoux, UNHCR in Geneva, Mr. Paul Grover of the US Anti-Drug Intelligence Service and finally Naly of the LICADO in Cambodia.
Killing of Judge Sok Setha Mony
I read in the foreign press that I have been accused by Hun Sen of being involved in the assassination of Judge Sok Setha Mony. This is a total fabrication on Hun Sen's part to justify his campaign against me.
In 2003, the judge was killed by a terrorist group known as the CFF. The military police in Phnom Penh arrested three people suspected of being involved in the assassination. The arrests were coordinated by Colonel Sim Hong, Military police, who headed the investigations. I had nothing to do with the arrest, because it was military police's job.
The people arrested are Chun Ched Tra, and Moul Made but I cannot remember the other person's name.
I had a great respect for the judge and I had personally known him well. There was no way that I would have arranged for him to be killed.
I believe that this is just one of the many trumped up charges they had against me in order to secure my arrest. I know too much and I have treaded on too many toes.
Seizure of 36 kg Heroine
In 2003, I obtained information from an anonymous tip that Lt Colonel Ngur Sambath who was a man of General Sao Sokkha (three-star) and general Dom Hak (2 star) was involved in heroine trade. Following investigations, we attend his residence at Toul Kork District, in Phnom Penh and seized 36 kg of Heroine. Lt Colonel was arrested on the spot but Dom Hak who was residing there fled the scene. We attempted to chase after him to arrest him, but Hun Sen stopped us, ordering not to arrest Dom Hak nor to investigate, saying that there was no need to arrest Dom Hak. I had to stop chasing and investigating. Instead of punishing him Hun Sen surprisingly promoted him to three star about one month later. Ngur Sambath was found killed in the prison. Hun Sen told me not to be too harsh on drug trade.
Not long after this, there was a function organized by Hoc Lundv for all the general. Sao Sokkha was there and I was also invited. Sau Sokkha praised me a lot at the function and wanted me to be close to him. He said to me that if we united together, we could do anything in Cambodia. He then said that there was only one thing referring to my stance on drug trade. He asked me to stop investigating into the drug trafficking as Narcotic did not cause any trouble to Cambodia. I confronted him saving that I did not agree. He became angry and said to me that if you kept investigating, he would use his own sword to kill me
Other people witnessed it and they came over to us trying to calm us down.
Request for court and justice reform
At the beginning of 2005, I requested to my Prime Minister Hun Sen to reform the court and justice system as it was corrupted. Many judges around the country were not happy with me especially the prosecutor OKsa Voth who was known to be the master of corruption. The Prime Minister supported me and he announced in public to reform the country's justice system. People welcomed the move and to commemorate the occasion, they wrote a song in which my name was mentioned. I told them not to as the Prime Minister would not be happy to see my name being promoted too much. Oksa Voth was unhappy with me as he saw the reform would potentially bring to an end what he could do under the current system.
Mv current circumstances -- a direct result of my position in the government and my open defiance against Hoc Lundv and the Prime Minister
In 2005, Hoc Lundy ordered me to kill the Secretary of the State Nut Sa Ann, because Mr Nut Sa Ann had a conflict with Hoc Lundy over a piece of land owned by the police. Hoc Lundy got very angry with him and ordered to arrange for him to be killed. I refused because I respected the man a lot and would not like to see him killed. I had to find an excuse for myself. I explained to Hoc Lundy that Nut Sa Ann had too many bodyguards and it would not be possible.
In December 2005, Hoc Lundy had a conflict with me because he wanted me to cut the lock to the residence of a Cambodian American lawyer David Chinava and to conduct a search. The reason for the search was that the lawyer was said to be drunken one day and drove into the Hun Sen. Public Garden. He fled the scene and kept quiet. About 10 days later, the police started investigating and found the car in his house which he had deserted. The house was locked and that's was the reason why I was ordered to cut the lock to gain access. I did not obey his order and told Hoc Lundy that it was illegal to do that. Hoc Lundy was upset with me for disobeying his order. He shouted at me questioning why amongst all the policemen and women in the country who all respected him, I was the only one who dared to disobey him. He said that he could not tolerate anybody who disrespected him.
At the beginning of 2005, Hoc Lundy's son Hock Lundao also known as Dy Vichea was divorced from his wife, Hun Chantah, the niece of Hun Sen.
All of the above incidents where I refused to obey to him made him very bitter against me. He bears grudges against me. On 25 December 2005, he invited the police commissioners, governors and other senior officials of seven Districts to a meeting at the Governor of Phnom Penh's residence. Around 400 people were present. I was one of the participants. Hoc Lundy conveyed his dissatisfaction openly with me and vowed that he would do whatever possible to strip me off my title in three months. He said that he would make this his objective and that if he did not achieve this, he would give up two of his own stars. To me, he declared a public war against me. He said that he was the head of the Mafia in Cambodia and that nobody could win him, 'not even the Advisor to the Prime Minister'. I have a recording of his speech which was given to me by another police friend who was at the meeting. The Cambodian newspaper also reported the meeting.
Subsequent to the meeting, I approached the Prime Minister for intervention. The Prime Minister told me not to worry, saying that there would be no way he would let Hoc Lundy remove me from my positions. He said that he himself had issues with Hoc Lundy.
Assassination of a Singaporean man
I have also been accused of killing a Singaporean man. It is absurd and why did I have to do that?
I was certainly not involved in the killing of the Singaporean man, Sim Ping Say. I know him pretty well and regarded him as my friend. Sim was gunned down and killed at the beginning of 2004 . To date nobody had been arrested for the killing.
Sim was a Singaporean businessman. He together with another Singaporean Mr. Kok entered into a joint venture with a Cambodian businessman Bun Hy. That was around 10 years ago. The joint venture was to build a hotel with 300 guest rooms. There were problems after problems associated with the building. The three partners eventually ended up not trusting each other. Because of the nature of the project, the Deputy Prime Minister Sao Ka Heng ordered me to intervene and find a solution to their problems. That's how I met Mr. Sim and Mr. Kok.
I recall during a meeting I convened for the three of them shortly after my appointment, Mr Kok complained to me about Mr Sim cheating money from him etc. Mr Sim was not present at the meeting. Mr. Kok also said that he was afraid of Mr. Sim because he may arrange for him to be killed and did not want to go back to Cambodia. That meeting was held in Singapore. Prior to the meeting, I met Mr. Kok several times and also received a letter Mr. Kok in Cambodia. Mr. Sim lost a lot of his investment in the project and would like to get out of it by selling the building. He proposed to sell the building and shared the proceeds amongst them. An agreement was reached in the form of memorandum of understanding and was sealed by the government. Because of their mistrust for each other, I was made the agent for the sale and advertised my number as the point of contact for the sale. Offers were received but we were not able to achieve a sale because they kept upper the prices offered. This was partly because after Mr. Sim was killed his wife took control and communicated directly with the other two parties. That situation made it impossible for me to sell the building. This tug of war continued until mid 2004 when I gave it up. I had had enough of their problems, and besides I had too much on my plate at that time.

subset: commoncrawl


text:
Sheila is still building their reputation. Learn More.
Reputable Agents are the kind of agents that other agents want to work with, and the kind of agents that clients deserve. Less than 8% of real estate agents are Reputable Agents. Here's a simple way to understand why Peer Reputation is so important:
Looking at Zillow and Yelp reviews is like asking your friend which doctor they go to. Using Peer Reputation is like asking your doctor who they would go to for surgery.
There are many moving parts in real estate transactions where things can go wrong. The best experiences happen when great agents help their clients navigate the complex real estate process.
We believe that great agents are identified by the quality of their work and that their fellow agents are in the best position to provide that assessment. That's why the best measure of a great agent is their Peer Reputation.
Supporting members know there is more to being a real estate agent than taking a couple of classes, passing some exams, and unlocking doors. Supporting members pledge to:
Supporting members want to raise the bar in the real estate industry.
Adding a profile picture will add to your ability to attract new clients
You will have the ability to crop and adjust after uploading.


text:
Historical Morris County, New Jersey nestles amid rolling hills, broad valleys and glittering lakes approximately 30 miles northwest of New York City and is one of the fastest growing counties in the New York Christie's International Real Estate Northern New Jersey area. It is a great place to live, raise a family, relax and enjoy life!
Today's Morris County Today, Morris County is New Jersey's seventh largest county. There are 39 Towns in the 477.8 square mile county and approximately 470,000 persons reside in Morris County. One of the ten wealthiest counties in the United States, Morris County has long been recognized as a prime setting for business and family. In fact, Morris County was Rated as the 6th Best County in America to Raise a Family by Forbes Magazine in it's July 2008 Issue ranking U.S. counties with populations over 65,000. It offers historic views, countryside charm and the conveniences of modern-day towns. Multi-million dollar shopping centers and highway merchandising malls have combined with construction of world headquarters of name brand firms, discount houses, chain stores and food markets. Much of its beauty has been protected and preserved by the Board of Chosen Freeholders through its Park Commission, formed by referendum in 1955 to set aside and develop land for leisure time and recreational use. Nearly 13,000 acres make up the system, one of New Jersey's finest is noted statewide for its recreational facilities and preservation of Morris County's natural landscape. Included are outdoor education centers, a marina, golf courses, a riding stable, indoor ice skating arena, cultural center, arboretums, and numerous types of hiking, cycling, wildflower and nature trails. Newcomers to Morris County can look forward to state-of-the-art healthcare services and facilities anchored by major hospitals and medical centers. Chilton Memorial Hospital, St. Clare�s Hospital Denville, St. Clare�s Hospital Dover, and Morristown Memorial Hospital are among the major institutions that provide leading-edge treatment and diagnostics. Morristown Memorial Hospital alone offers 600 beds, serving as a regional resource for highly advanced services that include tertiary care. Through the county, skilled physicians and dentists in private practice, family practice clinics, emergency care centers, same-day surgery centers, and other specialized facilities meet every need. Roads, Public Transportation Major interstate highways (80, 10, 46, 287, 280) connect many municipalities. New Jersey Transit serves thousands of county commuters daily. In addition, the Central Railroad of New Jersey, the Morristown & Erie Railroad and the New York, Susquehanna & Western Railroad cross the county. Bus service links the 39 municipalities to the Christie's International Real Estate Northern New Jersey region. Two airports are located within Morris County. The county is bisected by a fine network of approximately 2,000 miles of federal interstate freeways, and state, county and municipal roads. Education Morris County�s commitment to excellence is never more evident than within its educational system, from outstanding public school districts to respected private and parochial schools. A full complement of programs for the gifted and challenged combines with a strong core curriculum and outstanding vocational and technical training opportunities for students of all ages. Those seeking a higher education will find a selection of quality colleges and universities in Morris County: Fairleigh Dickinson University and Drew University are in Madison, the College of St. Elizabeth is located in Convent Station, and County College of Morris is available in Randolph. Considering that one out of every four high-school graduates attends the County College of Morris, the wide appeal of its diverse two-year programs has been proven time and time again. Morris County is the home of three universities (including Drew University, Fairleigh Dickinson University, College of St. Elizabeth), a two-year County College, and a County Vocational Technical School. One of every four high school graduates in Morris County attend the County College of Morris which reports a capacity attendance both for full-time and part-time courses. The high registration reflects the fine academic standings of the college, the wide appeal of its varied curriculum, and the relative cost-value of its programs in comparison to other institutions. Housing Few sections of New Jersey can offer the selection of housing found in Morris County, where the choices range from landmark homesteads to elegant mansions and contemporary properties with every amenity. Throughout the county, comfortable garden apartments and efficiency split-level homes mix with rambling Georgian and Victorian estates that feature sweeping lawns and meticulously landscaped gardens. Large-scale housing developments have blossomed in recent years, especially in outlying areas where large tracts of land were once devoted to agriculture. Housing options in Morris County range from Single Family Homes, Condos and Townhouses in towns or the countryside, to apartment and condo and townhome rentals. You have choices from intimate, seven-unit renovated Victorian buildings to 500-unit development with amenities such as a club house, swimming pool and tennis courts or perhaps something in between. Shopping Shopping is available in larger malls and major retail districts, although the county excels in antique treasures and delightful boutiques that are tucked away in odd corners. �The Green� in Morristown dates back to the colonial era, bordered by more than many stores and restaurants, a thriving business center, entertainment centers, and a retail promenade. Many of the contemporary shopping centers feature branches of famous New York stores without the �Big Apple� price tags. Cultural activities and events range from outstanding galleries and museums to the performing arts. The area�s close proximity to many of New Jersey finest arts and entertainment venues combine with easy access to Manhattan and Broadway theaters for leisure options that are unrivaled. Local festivals, celebrations, concerts, parades, and holiday events play an important role in the tranquil yet lively Morris County lifestyle. Parks & Recreation Lush parks are strategically situated to offer Morris County easy access to recreational amenities and facilities. Riding stables for equestrians, excellent golf courses, ice-skating arenas, cross-country ski trails, outdoor education centers, summer music festivals, swimming areas and facilities, bike paths, multi-purpose trails, arboretums, and nature centers are some of the quality attractions. Drawing more than two million visitors each year, these meticulously maintained parks encompass almost 11,000 acres of recreational and educational facilities. Overnight camping, sports fields, picnic sites, para-fitness courses, and lovely gardens make these green spaces a cherished playground for all ages. Bringing together spectacular natural beauty, educational excellence, successful corporations, and first-rate attractions, Morris County offers an idyllic home. All of these factors coupled with a high quality of life have continued to attract many major companies and residents to Morris County. Weather Morris County weather vary widely from area to area, averaging in the middle 20's in the winter months and the low 70's in the summer. About 50 inches of rain and 35 inches of snow fall each year. The Morris County Real Estate Experts Our team covers all of Morris County Real Estate, including towns like Boonton Boro, Boonton Twp, Chatham Borough, Chatham Twp, Convent Station, Denville, East Hanover, Florham Park, Hanover, Harding, Jefferson Twp, Lincoln Park, Long Hill Twp., Madison, Mendham Boro, Mendham Twp., Montville, Morris Plains, Morristown, Morris Township, Mount Arlington, Mount Olive, Mountain Lakes, Parsippany, Randolph, Rockaway Boro, Rockaway Twp., Roxbury, Succasunna, Washington Twp, Wharton, Whippany, etc. to name a few.
Please Contact Us and allow us to show you how we can help you in the purchase or sale of your home. You'll be more than Satisfied!
Other Links to Explore Morris County, NJ We've got some great places for you to explore in Morris County, New Jersey. The links we've chosen will enable you to discover Morris County and New Jersey from the comfort of your home! New Jersey is a great place to live and we hope you will call us for all your housing needs! State, Counties and Towns
Commuter Information


text:
How much does it cost to hire a divorce lawyer?
The average cost to hire a divorce lawyer is roughly between $175 to $325 per hour. However, your costs may be higher or lower — it depends on several factors. For example, an uncontested divorce may cost less than a contested divorce.
Reach out to several divorce lawyers to find out how much they charge and what you can expect to pay.
Also read, "How much does a divorce cost?"
How do I hire a good divorce attorney?
It's important to spend an adequate amount of time researching and vetting several divorce attorneys before you hire one. Start by searching for top-rated lawyers near you, and read through their clients' reviews. Get an idea of their reputation, how successful they are and how they set their pricing.
Make sure each attorney you're considering is admitted to the bar in the state where your divorce could be adjudicated (ask your prospective lawyer first if you aren't sure which state is right). And when you feel like you have a good list of potential divorce lawyers who can handle your case, contact them to get price estimates, their hourly rates and any other pricing terms.
Do divorce lawyers work on contingency?
It's unusual for divorce lawyers to work on contingency, where they receive an agreed-upon proportion of the awarded amount if and only if they win the case. It's much more common for lawyers to work on a retainer or on a fixed hourly fee. Always discuss the fees and payment options with lawyers you're considering hiring.
When should I hire a divorce attorney?
You should hire a divorce attorney in situations where settlements are hard to reach between you and your spouse, or if you want to better understand your rights. This includes a wide range of complicated issues, with common examples being:
- Child custody and child support
- Debts owed
- Future assets like inheritance
- Current assets like houses, cars and valuables
You should hire an attorney if you and your spouse are having difficulty agreeing to terms on how to handle these issues.
What do lawyers do in a divorce?
A divorce lawyer handles negotiations regarding how assets are divided between spouses, as well as who assumes debts. The divorce lawyer can also help establish an agreement for child support and child custody between the spouses. All of this requires research and evidence gathering, as well as compiling and filing paperwork with the court that summarizes the evidence.
Who pays for a divorce?
Often, each spouse pays their own respective lawyer's attorney fees and costs during a divorce. However, certain circumstances may lead to one party paying for the other's legal fees.
How do lawyers get paid if they lose a case?
Lawyers typically charge for their time (typically a hourly rate) regardless of whether they win a case. Sometimes, the losing party is ordered to pay the other party's lawyer fees on top of their own. Some lawyers also work on contingency, meaning they will take a percentage of the awarded amount only if they successfully win the case.
Before hiring a lawyer, make sure you understand their fee structure.


text:
A wrongful death lawsuit has been filed against the NHL by the family of hockey enforcer Derek Boogaard, who was 28 when he died from an accidental overdose of alcohol and oxycodone in May of 2011. The suit accuses the NHL of being negligent and with supplying the painkiller to Boogaard.
"The NHL drafted Derek Boogaard because it wanted his massive body to fight in order to enhance ratings, earnings and exposure. Fighting night after night took its expected toll on Derek's body and mind," attorney William Gibbs said in a statement after filing the suit. "To deal with the pain, he turned to the team doctors, who dispensed pain pills like candy. Then, once he became addicted to these narcotics, the NHL promised his family that it would take care of him. It failed. He died."
Boogard's parents, Joanne and Len, donated Derek's brain to researchers at Boston University, known for its focus on sports-related brain and head trauma. They found early signs of chronic traumatic encephalopathy, a neurodegenerative disease linked to repeated brain trauma.
Drafted by the Minnesota Wild in 2001, Boogaard joined the team in 2005; he later played one season for the New York Rangers. He missed several months of his final season due to injuries.
"He also reportedly participated in 174 career fights in professional hockey," Boston University researchers said, a figure that includes Boogaard's career before reaching the NHL. He is believed to have fought more than 60 times while in the NHL; he scored three goals in the league.
Boogaard had been in a substance abuse recovery program run by the NHL and the players' union, according to The New York Times.
In representing the Boogaard family, Gibbs is joined by fellow attorney Thomas A. Demetrio; the pair "also represent the family of Chicago Bears great Dave Duerson and other NFL players in lawsuits against the league stemming from concussions and CTE," according the their law firm's website.
The lawsuit comes weeks after the Boogaard family's lawsuit against the NHL Players Association was dismissed, the AP reports. That suit, filed last autumn, sought $9.8 million in damages.
Copyright 2021 NPR. To see more, visit https://www.npr.org.


text:
Close search
We notice you don't have any payment details set, you can be paid via Bank Transfer, Paypal or in Amazon.co.uk Gift Cards.
Please confirm that the link to the retailer's site is broken. Click close if you clicked the link in error.
Thank you for alerting The Quidco Support team and they will investigate and update you within the next hour.
Your browser is set to block pop-up ads and cookies. It's vital you turn off your ad blocker now. If you don't Quidco will not track your purchase. How do I do this?


text:
Boys Lie Pinky Promise Hoodie ★ Hot Pink
This neon pink Boys Lie zip up hoodie features a cropped hem, front pockets, ribbed cuffs and an embroidered front logo. Pair it with your favorite jeans or sweatpants for the perfect outfit!
- "Boys fall in love with what they see, girls fall in love with what they hear, that's why girls wear makeup, and boys lie." Boys Lie was co-founded by Tori and Leah after they both faced heartbreak. The brand is a celebration of women and inspires us to stay confident and to be our best selves.
- Model Info
- Meet Belen! She is wearing a XS/S.
- Hips: 36.5" | Waist: 26" | Bust: 36" | Height: 5'11"
- The Details
- Wash On Cold Water With Like Colors, Tumble Dry Low
- 50% Polyester, 38% Cotton, 12% Rayon
All domestic orders are shipped with UPS or USPS and multiple delivery methods are offered at checkout. USPS Priority Mail Express, UPS Next Day Air, and UPS Next Day Air Early are available for guaranteed overnight delivery if placed by 12:00pm CST Monday-Friday (excludes weekends and holidays). Please allow an additional 1-2 business days for processing and handling for orders placed with UPS Ground or USPS Priority Mail as your selected shipping option.
UPS Standard, UPS Worldwide Expedited, UPS Worldwide Saver, and DHL Express Worldwide are all available international shipping methods. UPS Standard may include additional customs/brokerage fees to complete delivery in some countries. All rates are calculated at checkout. Depending on the destination country and shipping method selected, some orders may require additional duties/taxes to complete delivery. These duties/taxes are the responsibility of the buyer to pay; any package that is returned to us due to a refusal by the receiver to pay duties/taxes will not be refunded.
For more information, please refer to our shipping policy here.
We accept returns within 30 days of item delivery provided that the item is unworn and in its original condition with all tags still attached. Excluded items include sale items, swimwear, intimates (bodysuits, swimsuits), underwear, earrings, and vintage pieces. For more information, please refer to our Returns and Exchanges policy here.